0

I am getting JSON back from an API that looks like this:

    [
       {
          "CheckListId":"4",
          "Bphase":"k",
          "ActivityID":"2",
          "FloorTypeId":"216",
          "CheckerId":"",
          "columnFooting":"tets",
          "SubActivityID":"52",
          "columnFootingOTHER":"",
          "rejectFlag":"2",
          "Reportingtype":"Column-Floor",
          "Dphase":"",
          "UserID":"34a86e95-be70-4c6e-84b4-90fc2680cb44",
          "dateTimeSpanCre":"11/13/2018 12:00:00 AM",
          "contractID":"45",
          "UserIdAction":"34a86e95-be70-4c6e-84b4-90fc2680cb44",
          "drawingRef":"testing",
          "ChecklistForId":"683,687,688,689",
          "Aphase":"",
          "projectID":"21",
          "BuildingID":"49",
          "status":"p",
          "DetailsItems":[
             {
                "phase":"b",
                "yesNo":"n",
                "ImageName":"",
                "DoerComments":"",
                "UserId":"34a86e95-be70-4c6e-84b4-90fc2680cb44",
                "base64Img":"",
                "CheckersComments":"",

             },
             {
                "phase":"b",
                "yesNo":"n",
                "ImageName":"",
                "DoerComments":"",
                "UserId":"34a86e95-be70-4c6e-84b4-90fc2680cb44",
                "base64Img":"",
                "CheckersComments":"",

             }
          ]
       },
{
....},
{ ....
}
    ]

I have tried a few approaches

    public class SyncSaveCheckListDetailsMaster
    {
        public string UserID;
        public string CheckListId;
        public string projectID;
        public string contractID;
        public string BuildingID;
        public string columnFooting;
        public string drawingRef;
        public string dateTimeSpanCre;
        public string columnFootingOTHER;
        public string ChecklistForId;
        public string Reportingtype;
        public string FloorTypeId;
        public string status;
        public string rejectFlag;
        public string UserIdAction;
        public string CheckerId;
        public string Bphase;
        public string Dphase;
        public string Aphase;
        public string ActivityID;
        public string SubActivityID;
        public List<List<SyncSaveCheckListDetailsItem>> DetailsItems { get; set; }
    }

    public class SyncSaveCheckListDetailsItem
    {
        public string phase;
        public string yesNo;
        public string DoerComments;
        public string CheckersComments;
        public string UserId;
        public string ImageName;
        public string base64Img;

    }

What method i use to desalinize this Nested JSON array

It should be simple, but for some reason I can't figure out the correct

I am very new to web development and I am developing a web app using ASP.NET MVC 5.I have a requirement to deserialize a nested json

  • 1
    The [method](https://www.newtonsoft.com/json/help/html/DeserializeObject.htm) you should look into is `JsonConvert.Deserialize` And notice that your `DetailItems` should be `List`. – ibubi Nov 15 '18 at 05:34
  • @ibubi, provided you very clear example of json deserialization, please understand it and implement your code as per the logic. If you are facing any issue there please let us know – Prasad Telkikar Nov 15 '18 at 06:10
  • Similar question is already answered here https://stackoverflow.com/questions/38793151/deserialize-nested-json-into-c-sharp-objects – Saurabh Nov 15 '18 at 08:48
  • Possible duplicate of [Deserialize nested JSON into C# objects](https://stackoverflow.com/questions/38793151/deserialize-nested-json-into-c-sharp-objects) – matt_lethargic Nov 15 '18 at 11:57

1 Answers1

0

As Ibubi noted; you should change the DetailsItem property into List<SyncSaveCheckListDetailsItem> and indeed look at NewtonSoft to deserialize the json into an object. You can find details here.

Also, this question was asked multiple times before; for example here.

RoelA
  • 581
  • 4
  • 15