获取对象的结果视图或动态视图

时间:2016-11-02 10:21:46

标签: c# json debugging dynamic-view

我接受一个json对象并将其反序列化为一个变量。当我调试时,我看到每个元素都像结果视图中的数组一样列出,但无论我尝试什么,我都无法获得这些值。 我的json字符串:

string json_string = { "baslik" : "bbbbb", "soru1" : "11","soru2" : "22","soru3" : "33"};

var my_object = JsonConvert.DeserializeObject(json_string);

当我调试时,我看到'my_object'有结果视图和动态视图,它包含我需要的元素。我怎样才能得到它们。我尝试了一切并在网上搜索但找不到任何东西。

3 个答案:

答案 0 :(得分:1)

您可以使用dynamic变量和JObject.Parse来获取如下值:

dynamic my_object = JObject.Parse(json_string);
Console.WriteLine(my_object.baslik);

答案 1 :(得分:0)

尝试这样做:

        string json_string ="{ 'baslik' : 'bbbbb', 'soru1' : '11','soru2' : '22','soru3' : '33'}";
        var jsonObject = (JObject)JsonConvert.DeserializeObject(json_string);
        Console.WriteLine(jsonObject.GetValue("baslik"));

答案 2 :(得分:0)

您还可以尝试使用JsonConvert.DeserializeObject或DeserializeAnonymousType并将类型定义作为参数传递。

这将允许您测试数据结构与期望的匹配,并且您将能够直接从结果对象访问期望的属性,而不必添加对JObject的依赖。

请参阅文档以获取示例:https://www.newtonsoft.com/json/help/html/DeserializeAnonymousType.htm