JSON在c#中获取一些数据

时间:2018-05-12 11:24:24

标签: c# json

我有这个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数据?

谢谢你们

2 个答案:

答案 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的是什么,我只是为类和道具使用了生成的名称。