Answer the question
In order to leave comments, you need to log in
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
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 для примера
https://app.quicktype.io/#r=json2csharp - here, use it to generate JSON parsers.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question