我有这个json
"data": [
{
"name": "Jual beli hp cod tanjungsari, jatinangor, sumedang, dan sekitarnya",
"id": "219307605068804",
"privacy": "OPEN",
"members": {
"data": [
{
"name": "Andri We Lahk",
"id": "100026036232248",
"administrator": false
}
],
"paging": {
"cursors": {
"before": "QVFIUmJHeWstN",
"after": "QVFIUmJHeWstN1Rna0RnYThZA"
},
"next": "https://graph"
},
"summary": {
"total_count": 21424
}
}
}
我可以得到这个名字'使用此代码使用newtonsoft
的数据JObject results = JObject.Parse(json);
foreach (var result in results["data"])
{
string name_dt = (string)result["name"];
}
但是如何在c#中获取total_count数据?
谢谢你们
答案 0 :(得分:0)
而不是
string name_dt = (string)result["name"];
你需要
string name_dt = (string)result["members"]["summary"]["total_count"];
答案 1 :(得分:0)
通常,您将创建表示此JSON数据的类。 为此,您可以使用Json2Csharp。
获得数据后,可以使用JsonConvert.Deserialize方法将Json反序列化为T的实例,其中T将是" root"类。
基本方法是:
public class Datum2
{
public string Name { get; set; }
public string Id { get; set; }
public bool Administrator { get; set; }
}
public class Cursors
{
public string Before { get; set; }
public string After { get; set; }
}
public class Paging
{
public Cursors cursors { get; set; }
public string next { get; set; }
}
public class Summary
{
public int TotalCount { get; set; }
}
public class Members
{
public List<Datum2> Data { get; set; }
public Paging Paging { get; set; }
public Summary Summary { get; set; }
}
public class Datum
{
public string Name { get; set; }
public string Id { get; set; }
public string Privacy { get; set; }
public Members Members { get; set; }
}
public class RootObject
{
public List<Datum> Data { get; set; }
}
然后使用
var jsonObject = JsonConvert.DeserializeObject<RootObject>(json)
现在您可以访问total_counts。例如:
jsonObject.data.First().Members.First().Summary.TotalCount.
由于我不知道,代表这个JSON的是什么,我只是为类和道具使用了生成的名称。