我有一个像这样的json对象:
我想通过此代码行访问“问题”字段:
string msg = (json1["data"][0]["question"]).ToString();
但这不起作用,为什么?
答案 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;