如何编写正确的json路径?

时间:2020-06-23 06:48:04

标签: c# json

我有一个像这样的json对象:

enter image description here

我想通过此代码行访问“问题”字段:

string msg = (json1["data"][0]["question"]).ToString();

但这不起作用,为什么?

2 个答案:

答案 0 :(得分:1)

但这不起作用,为什么?

因为您需要再次查看json。

“数据”是一个对象,而不是数组。因此,“ [0]”无效,因为它将访问数组的第一个元素。您唯一拥有的数组是“答案”元素。 “问题”直接是“数据”的属性。

答案 1 :(得分:-1)

准备如下的C#模型

public class rootClass
    {
        public bool ok { get; set; }
        public data data { get; set; }
    }

    public class data
    {
        public string question { get; set; }
        public string[] answers { get; set; }
        public int id { get; set; }
    }

并使用JsonConvert(Newtonsoft dll)类进行反序列化和访问,如下所示:

rootClass rootClass = JsonConvert.DeserializeObject<rootClass>(inputJson);
            string msg = rootClass.data.question;