我的linq fu技能非常差,在看了json.net的例子之后,我仍然很难找到如何选择我需要的数据。我有一个JSON,如下所示…
{
"@odata.context": "http://wabi-us-north-central-b-redirect.analysis.windows.net/v1.0/myorg/$metadata#groups",
"@odata.count": 2,
"value": [
{
"id": "z48856e6-f385-4c89-a4b8-33c24hsr5c",
"isReadOnly": false,
"isOnDedicatedCapacity": false,
"name": "Blood Values"
},
{
"id": "k95d7cfe-c2a5-41f9-804w-e1b7ab31g31k",
"isReadOnly": false,
"isOnDedicatedCapacity": false,
"name": "Tissue Preps"
}
]
}
我正在尝试编写一个linq-to-json表达式,该表达式允许我选择
id
元素的位置
name
值等于“组织预处理”。
var parsedJson = JObject.Parse(webResponse.Response);
var datasetId = parsedJson["value"].Select(i => i.SelectToken("id")).Where(n => n.SelectToken("name").ToString() == "Tissue Preps");
上面是我试过的linq表达式,但我最终得到了一个
Object reference not set to an instance of an object.
错误。我希望避免编写一个类来表示JSON,这样它就可以反序列化。