Получить вид результата или динамический вид объекта
Я беру объект json и десериализую его в переменную. При отладке я вижу, что каждый элемент отображается в виде массива в представлении результатов, но независимо от того, что я пробовал, я не мог получить эти значения. Моя строка JSON:
string json_string = { "baslik" : "bbbbb", "soru1" : "11","soru2" : "22","soru3" : "33"};
var my_object = JsonConvert.DeserializeObject(json_string);
Когда я отлаживаю, я вижу, что my_object имеет представление результатов и динамическое представление, в которых содержатся нужные мне элементы. Как я могу получить их. Я попробовал все и искал в сети, но не смог ничего найти.
3 ответа
Вы можете использовать dynamic
переменная и JObject.Parse
чтобы получить такие значения:
dynamic my_object = JObject.Parse(json_string);
Console.WriteLine(my_object.baslik);
Попробуйте сделать это так:
string json_string ="{ 'baslik' : 'bbbbb', 'soru1' : '11','soru2' : '22','soru3' : '33'}";
var jsonObject = (JObject)JsonConvert.DeserializeObject(json_string);
Console.WriteLine(jsonObject.GetValue("baslik"));
Вы также можете попробовать использовать JsonConvert.DeserializeObject или DeserializeAnonymousType и передать определение типа в качестве параметра.
Это позволит вам протестировать как структуру ваших данных, так и ожидание, и вы сможете получить доступ к ожидаемым свойствам непосредственно из результирующего объекта, а не добавлять зависимость от JObject.
См. Документацию для примеров: https://www.newtonsoft.com/json/help/html/DeserializeAnonymousType.htm