I have a JSON which I get from web application. I try this parse to Object using System.Web.Script.Serialization . But I have problem with parse
const String jsonWeb = @"{
""error"" : 0,
""result"" : {
""data"" : {
""1722278"" : {
""din"" : ""741338;361490;648450;934096;180467;209928;805500;283840;901917;110193;9438;363965;700670;647965;18399;31993;714755;242839;60436;600310;"",
""pid"" : ""11""
},
""1752279"" : {
""din"" : ""970510;771034;372305;286336;926373;459655;1409;140138;692017;311733;686476;368178;735954;635501;816346;821514;768444;510380;959990;916515;"",
""pid"" : ""11""
},
""1752280"" : {
""din"" : ""992662;474351;139725;998728;475954;706331;798728;744204;999194;22546;177003;4098;448658;842154;431042;970297;989184;362126;7720;720781;"",
""pid"" : ""11""
}
},
""pid"" : {
""11"" : {
""codejs"" : "" very \""long\"" String "",
""max"" : ""3""
}
},
""sys"" : {
""11"" : {
""1"" : {
""b"" : ""Firefox"",
""s"" : ""Windows""
},
""2"" : {
""b"" : ""Chrome"",
""s"" : ""Windows""
}
}
},
""maxgetlimit"" : 10001,
""setProxy"" : [],
""cidget"" : {
""111102"" : 1
},
""openBrowser"" : 1
}}";
I try parse this using this code but i get error. I try use this:
public class Pack
{
public string din { get; set; }
public string pid { get; set; }
}
public class MySybObject
{
public Pack attributes { get; set; }
}
public class Result
{
public Result() { data = new List<MySybObject>(); }
public List<MySybObject> data { get; set; }
}
public class Code
{
public String codejs { get; set; }
public String max { get; set; }
}
public class MySubPid
{
public Code code { get; set; }
}
public class SystemReq
{
public String b { get; set; }
public String s { get; set; }
}
public class Sys
{
public SystemReq sysreq { get; set; }
}
public class Cidget
{
public String cidget { get; set; }
}
public class Response
{
public Response() {}
public string error { get; set; }
public Result results { get; set; }
public MySubPid pid { get; set; }
public Sys sys { get; set; }
public Int32 maxgetlimit { get; set; }
public String setProxy { get; set; }
public Cidget cidget { get; set; }
public String openBrowser { get; set; }
}
JavaScriptSerializer ser = new JavaScriptSerializer();
Response foo = ser.Deserialize<Response>(jsonWeb);
But I get Error and I probably lost a number of object in data – this is important data for me.
Since there are numbers used as
keysin your json string, it would be better to use dynamic objects in this case instead of deserializing to a class (I used Json.Net for this)BTW: this line is wrong
It should be something like this
–EDIT–