DataContractJsonSerializer и oDataV4 - PullRequest
       86

DataContractJsonSerializer и oDataV4

0 голосов
/ 21 октября 2019

Я хочу использовать DataContactJsonSerializer без какой-либо зависимости от библиотеки NewtonSoft Json, где мне нужно сериализовать полезную нагрузку из веб-службы, предоставляющей OData V4. У меня проблемы с сериализацией полезной нагрузки.

Вот пример ответов полезной нагрузки

{
@odata.context: "http://services.odata.org/V4/(S(tdsqxrjntoi2ta4i1nqyrtm3))/TripPinServiceRW/$metadata",
value: [
{
name: "Photos",
kind: "EntitySet",
url: "Photos"
},
{
name: "People",
kind: "EntitySet",
url: "People"
},
{
name: "Airlines",
kind: "EntitySet",
url: "Airlines"
},
{
name: "Airports",
kind: "EntitySet",
url: "Airports"
},
{
name: "Me",
kind: "Singleton",
url: "Me"
},
{
name: "GetNearestAirport",
kind: "FunctionImport",
url: "GetNearestAirport"
}
]
}

Это прекрасно работает, когда я использую библиотеку NewtonSoft Json

Использование библиотеки NewtonSoft JObject.Parse

var json = response.Content.ReadAsStringAsync().Result;
var values = JObject.Parse(json);
var valueList = values["value"].ToList();
foreach (var value in valueList)
{
  resultList.Add(value.ToObject<ItemResult>());
}
...