我得到这个JSON(我把它写成XML):
<statuses>
<metadata>
<result_type>recent</result_type>
<iso_language_code>tl</iso_language_code>
</metadata>
<created_at>Tue Jul 16 07:56:04 +0000 2013</created_at>
<user>
<id>1234</id>
<id_str>4567</id_str>
<name>Marco</name>
</user>
</statuses>
(这就是它的样子):
{
"statuses":[
{
"metadata":{
"result_type":"recent",
"iso_language_code":"tl"
},
"created_at":"Tue Jul 16 07:56:04 +0000 2013",
"user":{
"id":366581342,
"id_str":"366581342",
"name":"Marco Dalla Piazza"
}
}]
}
我要提取字段created_at
和name
(user
下)。
我怎么能用JSON.NET库和LINQ来做呢?
尝试(名称):
JObject xDoc = JObject.Parse(objectText);
var leo = xDoc.Descendants("user").Select(n => new
name = n.Element("name").Value
{
}).First();
但似乎我没有LINQ方法(正如我在LINQ to XML中所做的那样)。
答案 0 :(得分:1)
您应该可以使用LINQ to JSON执行此任务:
JObject o = JObject.Parse(objectText);
var result =
o["statuses"].Select(x => new { CreatedAt = (DateTime)x["created_at"],
Name = (string)x["user"]["name"] });