user2964327
user2964327

Reputation: 1

parsing JSON format file in c#

Greeting,

I am finding difficulty in parsing a JSON format file in c# having an array of highly nested objects which looks as follows

[
    {
        "id": "0001",
        "type": "donut",
        "name": "Cake",
        "ppu": 0.55,
        "batters":
            {
                "batter":
                    [
                        { "id": "1001", "type": "Regular" },
                        { "id": "1002", "type": "Chocolate" },
                        { "id": "1003", "type": "Blueberry" },
                        { "id": "1004", "type": "Devil's Food" }
                    ]
            },
        "topping":
            [
                { "id": "5001", "type": "None" },
                { "id": "5002", "type": "Glazed" },
                { "id": "5005", "type": "Sugar" },
                { "id": "5007", "type": "Powdered Sugar" },
                { "id": "5006", "type": "Chocolate with Sprinkles" },
                { "id": "5003", "type": "Chocolate" },
                { "id": "5004", "type": "Maple" }
            ]
    },
    {
        "id": "0002",
        "type": "donut",
        "name": "Raised",
        "ppu": 0.55,
        "batters":
            {
                "batter":
                    [
                        { "id": "1001", "type": "Regular" }
                    ]
            },
        "topping":
            [
                { "id": "5001", "type": "None" },
                { "id": "5002", "type": "Glazed" },
                { "id": "5005", "type": "Sugar" },
                { "id": "5003", "type": "Chocolate" },
                { "id": "5004", "type": "Maple" }
            ]
    },
    {
        "id": "0003",
        "type": "donut",
        "name": "Old Fashioned",
        "ppu": 0.55,
        "batters":
            {
                "batter":
                    [
                        { "id": "1001", "type": "Regular" },
                        { "id": "1002", "type": "Chocolate" }
                    ]
            },
        "topping":
            [
                { "id": "5001", "type": "None" },
                { "id": "5002", "type": "Glazed" },
                { "id": "5003", "type": "Chocolate" },
                { "id": "5004", "type": "Maple" }
            ]
    }
]

I am looking for a solution like "id", "type","name", "ppu" as private members of a class and "batters" and "topping" as dictionary members. Kindly suggest me the better way in getting it parsed.

Thank you.

Upvotes: 0

Views: 89

Answers (1)

Telan Niranga
Telan Niranga

Reputation: 457

Following class structure will help you to parse JSON to C# object.

public class Batter
{
    public string id { get; set; }
    public string type { get; set; }
}

public class Batters
{
    public List<Batter> batter { get; set; }
}

public class Topping
{
    public string id { get; set; }
    public string type { get; set; }
}

public class RootObject
{
    public string id { get; set; }
    public string type { get; set; }
    public string name { get; set; }
    public double ppu { get; set; }
    public Batters batters { get; set; }
    public List<Topping> topping { get; set; }
}

Upvotes: 1

Related Questions