【发布时间】:2016-05-10 20:23:48
【问题描述】:
这是我正在使用的 JSON 字符串。
string jsonText = "{
"?xml" : {
"@version" : "1.0",
"@encoding" : "UTF-8",
"@standalone" : "yes"
},
"Grid" : {
"DataRow" : [{
"DataItem" : [{
"@name" : "SYMBOL",
"#text" : "005930"
}, {
"@name" : "NAME",
"#text" : "Samsung Electronics"
}, {
"@name" : "PRICE",
"#text" : "1004.3"
}, {
"@name" : "VOLUME",
"#text" : "273.182"
}, {
"@name" : "AGG_VOLUME",
"#text" : "302.894"
}
]
}, {
"DataItem" : [{
"@name" : "SYMBOL",
"#text" : "AAPL"
}, {
"@name" : "NAME",
"#text" : "Apple Inc."
}, {
"@name" : "PRICE",
"#text" : "99"
}, {
"@name" : "VOLUME",
"#text" : "32936.4"
}, {
"@name" : "AGG_VOLUME",
"#text" : "33078.769"
}
]
}, {
"DataItem" : [{
"@name" : "SYMBOL",
"#text" : "MSFT"
}, {
"@name" : "NAME",
"#text" : "Microsoft Corporation"
}, {
"@name" : "PRICE",
"#text" : "42"
}, {
"@name" : "VOLUME",
"#text" : "103441.6"
}, {
"@name" : "AGG_VOLUME",
"#text" : "1324432.074"
}
]
}
]
}
}"
JObject feed = JObject.Parse(jsonText);
我正在尝试获取 SYMBOL、NAME、PRICE 和 AGG_VOLUME 的值列表。到目前为止,这是我的代码:
var covg = feed["DataItem"]["@name"].Select(f => (string)f.SelectToken("#text"));
但我收到以下错误:
对象引用未设置为对象的实例。
我做错了什么?
【问题讨论】:
-
第 1 讲:如何调试代码...编写更小的代码。
var aaaa = feed["DataItem"]然后检查aaaa是否为空等......
标签: c# linq json.net linq-to-json