簡體   English   中英

C#反序列化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM