我有一个json字符串,我想对其进行迭代以检索特定值。在此对象中,有多个项目,每个项目具有相同的元素。我想做的是在每个项目中搜索其request_item.u_requested_for.user_name,并将其与另一个值进行比较。如果不匹配,请继续。如果确实匹配,那么我想检索request_item.u_requested_for.sys_id值。此外,json的大小将不会总是相同。有时会有5个元素,而其他时候是20个。我如何遍历每个项目,进行比较,然后检索所需的其他值?
我已经使用我发现的其他想法来解决这个问题,但是我无法真正使其发挥作用。首先,我应该使用JObject.Parse()将字符串解析为一个对象吗?还是应该继续将其作为字符串使用?
我尝试使用JsonTextReader来读取每一行,但是我不确定一旦找到符合条件的项目该如何检索需要的值。
{
"result": [
{
"request_item.sys_id": "db6e3306dbc3ef8c791a777a8c961986",
"request_item.u_requested_for.sys_id": "8416ccb3dba9df8c1ddee3a84b961911",
"request_item.u_requested_for.user_name": "H298956"
},
{
"request_item.sys_id": "e5990f89db47ebc8bd663ebd7c96198f",
"request_item.u_requested_for.sys_id": "878ce1d5dbcd0300cc78dd0b5e961987",
"request_item.u_requested_for.user_name": "E092733"
},
{
"request_item.sys_id": "87970c08db4be388791a777a8c9619ee",
"request_item.u_requested_for.sys_id": "484a1cf5db5f83c04f6489584b961952",
"request_item.u_requested_for.user_name": "H281111"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我要遍历每个项目并寻找值“ H281111”。找到该值后,我想提取“ request_item.u_requested_for.sys_id值”,在这种情况下为“ 484a1cf5db5f83c04f6489584b961952”。