10

I parsed this single Json :

{
    "text": "Sample Text",
    "id": 123456789,
    "user": {
      "name": "ExampleUser",
      "id": 123,
      "screen_name": "ExampleUser"
    },
    "in_reply_to_screen_name": null,
  }

to my c# class RootObject :

public class User
{
    public string name { get; set; }
    public int id { get; set; }
    public string screen_name { get; set; }
}

public class RootObject
{
    public string text { get; set; }
    public long id { get; set; }
    public User user { get; set; }
    public object in_reply_to_screen_name { get; set; }
}

like this :

RootObject h = JsonConvert.DeserializeObject<RootObject>(string);

All of this worked perfectly, but now I would like to parse an Array of all the precedent json object.

For example this Json Array :

[
    {
    "text": "Sample Text",
    "id": 123456789,
    "user": {
      "name": "ExampleUser",
      "id": 123,
      "screen_name": "ExampleUser"
    },
    "in_reply_to_screen_name": null,
  },
     {
    "text": "Another Sample Text",
    "id": 101112131415,
    "user": {
      "name": "ExampleUser2",
      "id": 124,
      "screen_name": "ExampleUser2"
    },
    "in_reply_to_screen_name": null,
  }
] 

I create another class :

  public class ListRoot { 
      public List<RootObject> status { get; set; } 
  }

and then used the same method :

ListRoot h = JsonConvert.DeserializeObject<ListRootObject>(string);

But it does not work. Do you know how can I parse this Json array to a c# class?

1 Answer 1

15

The JSON you have will work if you simply deserialize it as a List<RootObject>:

var h = JsonConvert.DeserializeObject<List<RootObject>>(string);

Or an array:

var h = JsonConvert.DeserializeObject<RootObject[]>(string);

If you want to deserialize a ListRoot, the JSON would need to look like this:

{
    "status": [
        {
            "text": "Sample Text",
            ...
        },
        {
            "text": "Another Sample Text",
            ...
        }
    ] 
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.