Получить вид результата или динамический вид объекта

Я беру объект 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

Другие вопросы по тегам