Serialize object of multiple classes into a single JSON using Json.NET

asp.net, c#, json, json.net

Solution

You can use anonymous types:

JsonConvert.SerializeObject(new {
    data = new[] { ... },
    summary = ...
});

Problem

I want to join objects of several classes together into a single JSON response, using Json.NET. I want to build the following into a single JSON response: ``` { "data": [ { "from": { "name": "Pawan Shrestha", "id": "100001187416487" }, "created_time": "2012-04-22T10:21:22+0000", "unread": true, "to": { "name": "Shashwat Tripathi", "id": "100000559654730" } } ], "summary": { "unread_count": 1, "total_count": 1, "updated_time": "2012-04-22T10:21:22+0000" } "response_generated_on" : "2012-04-12 14:23:33" } ``` I am creating JSON responses in the following way: ``` Customer cs = new Customer(2011); //2011 is Customer A/c No. string j = JsonConvert.SerializeObject(cs); ```

Original source