Tôi đã phương pháp sau đây trong api web của tôi
public void Put(string id, [FromBody]IContent value) {
//Do stuff
}
Tôi đang sử dụng đường trục js để gửi JSON sau vào máy chủ sử dụng cáy giá trị là null:
{
"id": "articles/1",
"heading": "Bar",
"$type": "BrickPile.Samples.Models.Article, BrickPile.Samples"
}
nhưng nếu tôi thêm thuộc tính $ type đầu tiên trong đối tượng JSON deserialization hoạt động tốt, xem:
{
"$type": "BrickPile.Samples.Models.Article, BrickPile.Samples",
"id": "articles/1",
"heading": "Bar"
}
có thể định cấu hình newtonsoft để kiểm tra loại $ prope rty bất cứ nơi nào trong đối tượng thay vì tài sản đầu tiên hoặc tôi có thể cấu hình xương sống vì vậy nó luôn luôn thêm các tài sản $type
đầu tiên trong đối tượng JSON?
Nhìn vào phản ứng @ của Levi, anh ấy là anh chàng an ninh cho nhóm web. – RickAndMSFT
Hoàn toàn điên rồ khi nó hoạt động theo cách này trong JSON.NET và Microsofts được tích hợp sẵn ... Trong nhiều thư viện JSON, như Jackson trong JAVA, KHÔNG được đảm bảo rằng bản đồ (mà u có thể xây dựng ở Jackson) được sắp xếp . Trên thực tế, bản đồ của nó, và do đó không có thứ tự được duy trì. Vì vậy, bạn không có quyền kiểm soát nơi $ type hoặc __type xuất hiện trong JSON. Đôi khi nó đầu tiên, và hoạt động, đôi khi nó không. Vì vậy, nó không thể truts chức năng này ... – Ted