Parse JSON Results - C #

Thanks in advance for your help!

OK, so I'm trying to parse the Json result from the API, and I'm by no means a Json expert, but the returned data result seems a little difficult to me (it seems like it returns a 'header' and then the elements ... see the example of the original result ) I'm trying to parse this with Json.NET http://james.newtonking.com/projects/json/help/ (which seems like a pretty good tool, just not familiar enough with it, or Json, for that matter).

What am I looking for, maybe someone with experience using this particular library or recommendations for a better / simpler tool? (I'm trying to parse the results to match the class perfectly).

-Thank

Raw Returned Result (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": "",
        "data2": "",
        "data3": "",
        "custom1": "",
        "custom2": "",
        "custom3": "",
        "custom4": "",
        "custom5": "",
        "custom6": "",
        "custom7": "",
        "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": "",
        "data2": "",
        "data3": "",
        "custom1": "",
        "custom2": "",
        "custom3": "",
        "custom4": "",
        "custom5": "",
        "custom6": "",
        "custom7": "",
        "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;
}
+3
1
JObject jsonObj = JObject.Parse(jasonExample);

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

? ?

+1

All Articles