从JObject中提取值

Eds*_*ade 11 c# json json.net

我正试图从Json中提取一些值,但我在[]之间的数据有问题

{ 
  attrib1: ""es-BO"",
  attrib2: 2,
  Segment: [
  {
    inAttrib1: ""value1"",
    inAttrib2: ""value2"",
    inAttrib3: ""value3""
  }]
}
Run Code Online (Sandbox Code Playgroud)

对于我正在使用的第一个值:

string attrib1 = request.GetValue("attrib1").Value<string>();
.
.
.
Run Code Online (Sandbox Code Playgroud)

但是当我想要做的时候:

string inAttrib1 = request.GetValue("inAttrib1").Value<string>();
Run Code Online (Sandbox Code Playgroud)

不起作用......我能做什么?或者存在另一种方法来做同样的事情

And*_*ker 20

(包括)之间的数据[]称为数组.在继续之前,查看JSON的主页可能会有所帮助,特别是在可用的不同数据类型上.

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

string attrib1Value = request["Segment"][0]["inAttrib1"].Value<string>();
Run Code Online (Sandbox Code Playgroud)

或者:

string attrib1Value = request.SelectToken(@"Segment[0].inAttrib1").Value<string>()
Run Code Online (Sandbox Code Playgroud)