Deserialize JSON array(or list) in C# Deserialize JSON array(or list) in C# ajax ajax

Deserialize JSON array(or list) in C#


This code works for me:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web.Script.Serialization;namespace Json{    class Program    {        static void Main(string[] args)        {            Console.WriteLine(DeserializeNames());            Console.ReadLine();        }        public static string DeserializeNames()        {            var jsonData = "{\"name\":[{\"last\":\"Smith\"},{\"last\":\"Doe\"}]}";            JavaScriptSerializer ser = new JavaScriptSerializer();            nameList myNames = ser.Deserialize<nameList>(jsonData);            return ser.Serialize(myNames);        }        //Class descriptions        public class name        {            public string last { get; set; }        }        public class nameList        {            public List<name> name { get; set; }        }    }}


Download Json.NET from here http://james.newtonking.com/projects/json-net.aspx

name deserializedName = JsonConvert.DeserializeObject<name>(jsonData);


I was having the similar issue and solved by understanding the Classes in asp.net C#

I want to read following JSON string :

[    {        "resultList": [            {                "channelType": "",                "duration": "2:29:30",                "episodeno": 0,                "genre": "Drama",                "genreList": [                    "Drama"                ],                "genres": [                    {                        "personName": "Drama"                    }                ],                "id": 1204,                "language": "Hindi",                "name": "The Great Target",                "productId": 1204,                "productMasterId": 1203,                "productMasterName": "The Great Target",                "productName": "The Great Target",                "productTypeId": 1,                "productTypeName": "Movie",                "rating": 3,                "releaseyear": "2005",                "showGoodName": "Movies ",                "views": 8333            },            {                "channelType": "",                "duration": "2:30:30",                "episodeno": 0,                "genre": "Romance",                "genreList": [                    "Romance"                ],                "genres": [                    {                        "personName": "Romance"                    }                ],                "id": 1144,                "language": "Hindi",                "name": "Mere Sapnon Ki Rani",                "productId": 1144,                "productMasterId": 1143,                "productMasterName": "Mere Sapnon Ki Rani",                "productName": "Mere Sapnon Ki Rani",                "productTypeId": 1,                "productTypeName": "Movie",                "rating": 3,                "releaseyear": "1997",                "showGoodName": "Movies ",                "views": 6482            },            {                "channelType": "",                "duration": "2:34:07",                "episodeno": 0,                "genre": "Drama",                "genreList": [                    "Drama"                ],                "genres": [                    {                        "personName": "Drama"                    }                ],                "id": 1520,                "language": "Telugu",                "name": "Satyameva Jayathe",                "productId": 1520,                "productMasterId": 1519,                "productMasterName": "Satyameva Jayathe",                "productName": "Satyameva Jayathe",                "productTypeId": 1,                "productTypeName": "Movie",                "rating": 3,                "releaseyear": "2004",                "showGoodName": "Movies ",                "views": 9910            }        ],        "resultSize": 1171,        "pageIndex": "1"    }]

My asp.net c# code looks like following

First, Class3.cs page created in APP_Code folder of Web application

using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Collections;using System.Text;using System.IO;using System.Web.Script.Serialization;using System.Collections.Generic;/// <summary>/// Summary description for Class3/// </summary>public class Class3{    public List<ListWrapper_Main> ResultList_Main { get; set; }    public class ListWrapper_Main    {        public List<ListWrapper> ResultList { get; set; }        public string resultSize { get; set; }        public string pageIndex { get; set; }    }    public class ListWrapper    {        public string channelType { get; set; }        public string duration { get; set; }        public int episodeno { get; set; }        public string genre { get; set; }        public string[] genreList { get; set; }        public List<genres_cls> genres { get; set; }        public int id { get; set; }        public string imageUrl { get; set; }        //public string imageurl { get; set; }        public string language { get; set; }        public string name { get; set; }        public int productId { get; set; }        public int productMasterId { get; set; }        public string productMasterName { get; set; }        public string productName { get; set; }        public int productTypeId { get; set; }        public string productTypeName { get; set; }        public decimal rating { get; set; }        public string releaseYear { get; set; }        //public string releaseyear { get; set; }        public string showGoodName { get; set; }        public string views { get; set; }    }    public class genres_cls    {        public string personName { get; set; }    }}

Then, Browser page that reads the string/JSON string listed above and displays/Deserialize the JSON objects and displays the data

JavaScriptSerializer ser = new JavaScriptSerializer();        string final_sb = sb.ToString();        List<Class3.ListWrapper_Main> movieInfos = ser.Deserialize<List<Class3.ListWrapper_Main>>(final_sb.ToString());        foreach (var itemdetail in movieInfos)        {            foreach (var itemdetail2 in itemdetail.ResultList)            {                Response.Write("channelType=" + itemdetail2.channelType + "<br/>");                Response.Write("duration=" + itemdetail2.duration + "<br/>");                Response.Write("episodeno=" + itemdetail2.episodeno + "<br/>");                Response.Write("genre=" + itemdetail2.genre + "<br/>");                string[] genreList_arr = itemdetail2.genreList;                for (int i = 0; i < genreList_arr.Length; i++)                    Response.Write("genreList1=" + genreList_arr[i].ToString() + "<br>");                foreach (var genres1 in itemdetail2.genres)                {                    Response.Write("genres1=" + genres1.personName + "<br>");                }                Response.Write("id=" + itemdetail2.id + "<br/>");                Response.Write("imageUrl=" + itemdetail2.imageUrl + "<br/>");                //Response.Write("imageurl=" + itemdetail2.imageurl + "<br/>");                Response.Write("language=" + itemdetail2.language + "<br/>");                Response.Write("name=" + itemdetail2.name + "<br/>");                Response.Write("productId=" + itemdetail2.productId + "<br/>");                Response.Write("productMasterId=" + itemdetail2.productMasterId + "<br/>");                Response.Write("productMasterName=" + itemdetail2.productMasterName + "<br/>");                Response.Write("productName=" + itemdetail2.productName + "<br/>");                Response.Write("productTypeId=" + itemdetail2.productTypeId + "<br/>");                Response.Write("productTypeName=" + itemdetail2.productTypeName + "<br/>");                Response.Write("rating=" + itemdetail2.rating + "<br/>");                Response.Write("releaseYear=" + itemdetail2.releaseYear + "<br/>");                //Response.Write("releaseyear=" + itemdetail2.releaseyear + "<br/>");                Response.Write("showGoodName=" + itemdetail2.showGoodName + "<br/>");                Response.Write("views=" + itemdetail2.views + "<br/><br>");                //Response.Write("resultSize" + itemdetail2.resultSize + "<br/>");                //  Response.Write("pageIndex" + itemdetail2.pageIndex + "<br/>");            }            Response.Write("resultSize=" + itemdetail.resultSize + "<br/><br>");            Response.Write("pageIndex=" + itemdetail.pageIndex + "<br/><br>");        }

'sb' is the actual string, i.e. JSON string of data mentioned very first on top of this reply

This is basically - web application asp.net c# code....

N joy...