从JObject中提取值

时间:2014-08-25 20:34:40

标签: c# json json.net

我试图从Json中提取一些值但我在[]

之间的数据有问题
{ 
  attrib1: ""es-BO"",
  attrib2: 2,
  Segment: [
  {
    inAttrib1: ""value1"",
    inAttrib2: ""value2"",
    inAttrib3: ""value3""
  }]
}

表示我使用的第一个值:

string attrib1 = request.GetValue("attrib1").Value<string>();
.
.
.

但是当我试图做的时候:

string inAttrib1 = request.GetValue("inAttrib1").Value<string>();

不起作用......我该怎么办?或者以另一种方式做同样的事情

1 个答案:

答案 0 :(得分:19)

({包括)[]之间的数据称为数组。在继续之前,查看JSON's home page可能会有所帮助,特别是在可用的不同数据类型中。

您需要向下导航到Segment数组,然后获取第一个元素,然后获取该元素的inAttrib1属性:

string attrib1Value = request["Segment"][0]["inAttrib1"].Value<string>();

或者:

string attrib1Value = request.SelectToken(@"Segment[0].inAttrib1").Value<string>()