E
E
estry2018-07-05 11:59:08
JSON
estry, 2018-07-05 11:59:08

How to parse JSON response in C#?

Hello. Can you tell me how to parse JSON?
Compiled an object model
https://puu.sh/ARetB/df9ba6c614.png
Now I need the Sm.text parameter, how can I get it?
I do this:
RootObject Res = new RootObject();
Res = JsonConvert.DeserializeObject(Response);
Res.sms = new Sm();
string strTextSMS = Res.sms.text;
Does not work. Mistake. What am I missing?
public class Sm
{
public int id { get; set; }
public DateTime created_at { get; set; }
public DateTime date { get; set; }
public string sender { get; set; }
public string text { get; set; }
public string code { get; set; }
}
public class RootObject
{
public int id { get; set; }
public DateTime created_at { get; set; }
public string phone { get; set; }
public string product { get; set; }
public int price { get; set; }
public string status { get; set; }
public DateTime expires { get; set; }
public List sms { get; set; }
public bool forwarding { get; set; }
public string forwarding_number { get; set; }
}
Thanks.
Sincerely.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
eRKa, 2018-07-05
@estry

0. Нет необходимости инициализировать Res перед десериализацией, DeserializeObject вернет объект и Res будет указывать на него.
1. Десериализовать надо к конкретному типу, а так он десериализует к object и нужные Вам поля будут не видны.
3. Если Res.sms это список, то поля text у него не будет, Вам нужно взять конкретный объект из этого списка и у него уже читать поле text.
4. В итоге все сводится к двум строчкам

var Res = JsonConvert.DeserializeObject<RootObject>(Response);
var strTextSMS = Res.sms[0].text;  // индекс 0 для примера

V
VoidVolker, 2018-08-08
@VoidVolker

https://app.quicktype.io/#r=json2csharp - here, use it to generate JSON parsers.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question