JSON.如何从这个嵌套的JSON结构中获取值
本文关键字:JSON 结构 获取 嵌套 | 更新日期: 2023-09-27 18:17:26
我有这个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。我可以成功地访问第一级的值,例如:(string)RequestBody.SelectToken("client_id")
如何使用JPath表达式访问"user_id"的值(或通过访问JSON的子对象)。净JObject) ?这行不通:
(string)RequestBody.SelectToken("data[0].user_id")
,我不能这样做来解析JSON的'data'部分:
JObject RequestBodyData = JObject.Parse((string)RequestBody.SelectToken("data"));
因为编译器似乎将RequestBody.SelectToken("data")
识别为对象(我得到错误'不能将对象解析为字符串')
并且我不想将原始JSON解析为自定义c#对象,因为我正在开发一种解决方案,需要能够将JSON通用地解析为jobobject(或任何其他类型的用于处理JSON的通用对象),因此可以以相对一致的方式解析。
SelectToken("data[0].user_id")
不起作用,因为在JSON中没有数组。你应该用SelectToken("data.user_id")
代替。
小提琴:https://dotnetfiddle.net/K0X4ht