[英]C# deserialization
如何使用keyvaluepair反序列化上面的json
string stations = [{"2":false,"1":"Aforre","0":"WS6"},{"2":false,"1":"Alodtau","0":"WS3"},{"2":false,"1":"Balimo Station","0":"WS36"}]
我这样子
var get = js.Deserialize<Dictionary<string,dynamic>>(stations);
尝试这个:
string stations = "[{'2':false,'1':'Aforre','0':'WS6'},{'2':false,'1':'Alodtau','0':'WS3'},{'2':false,'1':'Balimo Station','0':'WS36'}]";
var serializer = new JavaScriptSerializer();
dynamic value = serializer.DeserializeObject(stations);
您可以访问以下对象:
var a = value[0]["0"];
并且将具有“ WS6”(根据您的JSON)
显示的JSON是一个数组。 您可以尝试取消序列化以:
Dictionary<string, object>[]
即
var get = js.Deserialize<Dictionary<string,object>[]>(stations);
最好的选择之一是创建一个由所有键值对组成的类,然后将json字符串反序列化为所创建类的对象
您可以尝试使用动态变量,如下所示:
string stations = "[{'2':false,'1':'Aforre','0':'WS6'},{'2':false,'1':'Alodtau','0':'WS3'},{'2':false,'1':'Balimo Station','0':'WS36'}]";
var serializer = new JavaScriptSerializer();
dynamic serializevalues = serializer.DeserializeObject(stations);
var valueof1 = serializevalues[0]["1"];
Response.Write(valueof1);
上面将打印输出“ Aforre”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.