通过JSON.NET从JSON获取价值

时间:2012-01-25 20:47:15

标签: c# json

我尝试使用http://www.codeplex.com/Json从json对象中提取值。

我使用imdbapi.com,他们像这样返回json:

{"Title": "Star Wars", "Year": "1977", "Rated", "PG", "Released", "25 May 1977", "Genre", "Action, Adventure, Fantasy, Sci-Fi "" Director ":" George Lucas "," Writer "," George Lucas "," Actors ":" Mark Hamill, Harrison Ford, Carrie Fisher, Alec Guinness, "" Plot ":" Luke Skywalker leaves his home planet, teams up With Other Rebels, and Tries to save Princess Leia from the evil clutch of Darth hrs 1 min "," Rating ":" 8.8 "," Votes ":" 397318 "," ID ":" tt0076759 "," Response ":" True "}

我如何获得这样的头衔,评级,年份?并将其保存到我的对象?

这一行返回正确的json:

JObject jObject = JObject.Parse (json);

现在我只需要帮助挑选出我想要的数据。有什么建议吗?

3 个答案:

答案 0 :(得分:65)

这可以帮助您http://james.newtonking.com/pages/json-net.aspx

string json = @"{
    ""Name"": ""Apple"",
    ""Expiry"": new Date(1230422400000),
    ""Price"": 3.99,
    ""Sizes"": [
        ""Small"",
        ""Medium"",
        ""Large""
    ]
}";

JObject o = JObject.Parse(json);

//This will be "Apple"
string name = (string)o["Name"];

答案 1 :(得分:2)

JObject API documentation

我相信你对返回JTokens的.Item [key]集合很感兴趣。

Full Documentation

答案 2 :(得分:2)

class TypeHere{
   string Name {get;set;}
}

TypeHere object = JsonConvert.DeserializeObject< TypeHere >(jsonString)

// Ex. output 
object.Name;