在下面的 JSON 字符串中,如何访问“datastreams”数组中的“at”和“current_value”属性的值?
在此示例中,只有一个数据流,但实际上可能有很多。我需要通过“id”属性访问数据流。一旦我弄清楚这个问题,我计划使用带有 id == 的 where 子句到所需数据流的 id。
我尝试使用此处讨论的方法,在“Windows 8 中的 JSON – 一种更简单的方法”下,但它不起作用。
在此代码中,json
包含从我正在调用的服务返回的 JSON。prop
填充有JsonArray
. current
导致异常,内部消息为“未找到 JSON 值”
var json = JsonObject.Parse(responseBodyAsText);
var prop = json.GetNamedArray("datastreams");
var current = from p in prop
select new
{
datastream = p.GetObject().GetNamedString("datastreams"),
datetime = p.GetObject().GetNamedString("at"),
value = p.GetObject().GetNamedString("current_value")
};
这是 JSON 字符串:
{
"title":"X",
"status":"X",
"creator":"X",
"datastreams":
[
{
"at":"x",
"max_value":"X",
"current_value":"X",
"id":"X",
"min_value":"X"
}
],
"location":{"exposure":"x","domain":"x","disposition":"x","lat":X,"lon":-X},
"created":"X",
"tags":["X"],
"feed":"X",
"private":"X",
"id":X,
"description":"X",
"version":"X",
"updated":"X"
}