解析JSON结果-C#

本文关键字:-C# 结果 JSON 解析 | 更新日期: 2023-09-27 17:54:06

提前感谢您的帮助!

我试图解析API的Json结果,而数据的返回结果对我来说似乎有点难以理解。

  • 它似乎返回一个"头",然后返回项(…请参见原始结果示例(
  • 我尝试使用Json.NET对此进行解析

我不熟悉Json.NET,也不熟悉Json。

  • 如何解析结果并将其映射到类
  • 使用JSON.Net或其他工具

感谢

原始返回结果(Json(

{
"code": 0,
"message": "Successful",
"partials": {
    "_key": "partial",
    "0": {
        "datetime": "2011-03-08 16:22:51",
        "customer_id": "373263",
        "domain": "xyz.com ** deleted 2011-04-08 18:26:55 UTC**",
        "name": "Joe Customer",
        "phone": "1234567894",
        "email": "joecustomer@test.com",
        "offer": "",
        "pub_id": "",
        "sub_id": "",
        "data1": "", ... , "data3": "",
        "custom1": "", ..., "custom8": "" 
    },
    "1": {
        "datetime": "2011-03-08 16:43:11",
        "customer_id": "373296",
        "domain": "abc.com ** deleted 2011-04-08 18:26:55 UTC**",
        "name": "Jane Customer",
        "phone": "1234567891",
        "email": "janecustomer@test.com",
        "offer": "",
        "pub_id": "",
        "sub_id": "",
        "data1": "", ... , "data3": "",
        "custom1": "", ..., "custom8": "" 
    }
} 

}

我的尝试

        HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse();
        if (request.HaveResponse == true)
        {
            Stream responseStream = webResponse.GetResponseStream();
            StreamReader responseReader = new System.IO.StreamReader(responseStream, Encoding.UTF8);
            string responseString = responseReader.ReadToEnd();
            JObject o = JObject.Parse(responseString);
            IList<JToken> results = o["partials"].Children().ToList();
            IList<bbParial> oResults = new List<bbPartial>();
            foreach (JToken t in results)
            {
                if (t.ToString().Contains("partial"))
                {
                    // Do nothing this is the header
                }
                else
                {
                    bbPartial bbp = JsonConvert.DeserializeObject<bbPartial>(t.ToString());
                }
            }
        }

示例类

public class bbpartial
{
    public string _key;
    public string datetime;
    public string customer_id;
    public string domain;
    public string name;
    public string phone;
    public string email;
    public string offer;
    public string pub_id;
    public string sub_id;
    public string data1;
    public string data2;
    public string data3;
    public string custom1;
    public string custom2;
    public string custom3;
    public string custom4;
    public string custom5;
    public string custom6;
    public string custom7;
    public string custom8;
}

解析JSON结果-C#

JObject jsonObj = JObject.Parse(jasonExample);
Customer customerOne = new Customer()
 {
   Name =(string)jsonObj.selectToken("partials[0].name")
 }

这样行吗?它有用吗?