JSON.NET JObject - 如何从这个嵌套的 JSON 结构中获取值
JSON.NET JObject - how do I get value from this nested JSON structure
我有这个JSON:
{
"client_id": "26075235",
"client_version": "1.0.0",
"event": "app.uninstall",
"timestamp": 1478741247,
"data": {
"user_id": "62581379",
"site_id": "837771289247593785",
"platform_app_id": "26075235"
}
}
我将其解析为 JSON.NET JObject,并且我可以使用例如(string)RequestBody.SelectToken("client_id")
如何使用 JPath 表达式(或通过访问 JSON.NET JObject 的子对象)访问 "user_id" 的值?这不起作用:
(string)RequestBody.SelectToken("data[0].user_id")
我不能这样做来解析 JSON:
的 'data' 部分
JObject RequestBodyData = JObject.Parse((string)RequestBody.SelectToken("data"));
因为编译器似乎将 RequestBody.SelectToken("data")
识别为对象(我收到错误 'Can not parse object into string')
而且我不想将原始 JSON 解析为自定义 C# 对象,因为我正在开发一个需要能够将 JSON 一般解析为 JObject(或用于处理的任何其他类型的通用对象 JSON),因此可以以相对一致的方式对其进行解析。
SelectToken("data[0].user_id")
不起作用,因为您的 JSON 中没有数组。您应该改用 SelectToken("data.user_id")
。
Fiddle: https://dotnetfiddle.net/K0X4ht
我有这个JSON:
{
"client_id": "26075235",
"client_version": "1.0.0",
"event": "app.uninstall",
"timestamp": 1478741247,
"data": {
"user_id": "62581379",
"site_id": "837771289247593785",
"platform_app_id": "26075235"
}
}
我将其解析为 JSON.NET JObject,并且我可以使用例如(string)RequestBody.SelectToken("client_id")
如何使用 JPath 表达式(或通过访问 JSON.NET JObject 的子对象)访问 "user_id" 的值?这不起作用:
(string)RequestBody.SelectToken("data[0].user_id")
我不能这样做来解析 JSON:
的 'data' 部分JObject RequestBodyData = JObject.Parse((string)RequestBody.SelectToken("data"));
因为编译器似乎将 RequestBody.SelectToken("data")
识别为对象(我收到错误 'Can not parse object into string')
而且我不想将原始 JSON 解析为自定义 C# 对象,因为我正在开发一个需要能够将 JSON 一般解析为 JObject(或用于处理的任何其他类型的通用对象 JSON),因此可以以相对一致的方式对其进行解析。
SelectToken("data[0].user_id")
不起作用,因为您的 JSON 中没有数组。您应该改用 SelectToken("data.user_id")
。
Fiddle: https://dotnetfiddle.net/K0X4ht