1

我得到了这个 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_atname(下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 中一样)。

4

1 回答 1

2

您应该能够使用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"] });
于 2013-07-16T09:09:41.210 回答