Afzaal Ahmad Zeeshan
Вы должны рассмотреть синтаксический анализатор JSON и использовать его для преобразования этого документа JSON в объект времени выполнения, JSON.NET в данном случае это сработает. Json.NET - Newtonsoft[^]. Эти Парсеры будут правильно преобразовывать ваши документы, не беспокоясь о недопустимых данных (а если документ недействителен, то он вызовет исключение). Взгляните на валидатор схемы JSON, JSON Schema Validator - Newtonsoft[^], а затем попробуйте проанализировать это значение в любом онлайн-парсере JSON на основе JavaScript (JSON.parse()
) и вы можете убедиться в этом сами. Вы используете свой собственный парсер сборки? Ниже приведен пример JavaScript для этого, Edit fiddle - JSFiddle[^]
(function() {
alert(
JSON.parse("{\"@odata.context\":\"http://192.168.0.126:49540/odata/$metadata#Edm.String\",\"value\":\"The Chinese Stai\"}")
.value);
})();
Теперь что касается C#, то код для этого будет следующим,
// You need to use dynamic as type of returned object
// data is that string
dynamic obj = JsonConvert.DeserializeObject(data);
Console.WriteLine(obj.value); // Prints: The Chinese Stai
Если все пойдет правильно, вы увидите этот результат. Я написал статью на тему JSON и C#, вам стоит подумать о том, чтобы прочитать ее,
От нуля до героя в JSON с C#[
^Он также объясняет процесс извлечения динамически построенных документов JSON в динамические объекты в C#, см. комментарии к этой статье.
Afzaal Ahmad Zeeshan
Спасибо. Я добавил немного больше объяснений к ответу, который, как мне кажется, был пропущен, пожалуйста, посмотрите.
Afzaal Ahmad Zeeshan
Спасибо, Картик, но, похоже, ты забыл нажать на 5 звезд. :-)