Заранее спасибо за любую помощь!
ОК, поэтому я пытаюсь проанализировать результат Json с помощью API, и я ни в коем случае не являюсь экспертом Json, но возвращенный результат данных мне кажется немного сложным для восприятия (кажется, что возвращает 'header', а затем элементы ... см. пример необработанного результата). Я пытался разобрать это с помощью Json.NET http://james.newtonking.com/projects/json/help/ (который кажется довольно хорошим инструментом, просто еще недостаточно знаком с ним, или Json в этом отношении).
Что я ищу, может быть, кто-то с опытом использования этой конкретной DLL или рекомендации для лучшего / более легкого инструмента? (Я пытаюсь разобрать результаты, чтобы в идеале отобразить класс).
-Спасибо
Необработанный возвращаемый результат (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;
}