2013-05-15 160 views
1

我有一個JSON字符串像轉換JSON字符串字典在C#

{ 
    "action":"postRecord", 
    "data":{ 
      "0":{ 
        "lid":999, 
        "cid":1234 
       }, 
      "1":{ 
        "lid":111, 
        "cid":"6789" 
       } 
     } 
} 

我希望它CO轉化爲Dictionary對象,這樣我可以得到data和遍歷它像 data[0][lid] = 999 data[0][cid] =1234 data[1][lid] = 111 data[1][cid] = 6789

Ť他的問題是,我必須使用ONLY Native Libraries of .net and I have version 2.0

+0

閱讀這一個http://www.codeproject.com/Articles/156984/Serialize-JSON-Object-to-String – JSJ

+0

你將不得不去'data [0] [「cid」]/data [0 ] [「蓋」]'在其他情況下,你會得到未定義錯誤的CID /蓋 – Vogel612

+0

是否有一個原因,你不能使用外部庫? Json.Net是正確的答案,並有2.0版本:http://james.newtonking.com/pages/json-net.aspx –

回答

2

可以使用JSON.NET

+0

我不想使用任何第三方DLL。只有本地庫 –

1

Dictionary<string, object> obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(Convert.ToString(data)); 

如果你可以使用.NET 3.5(我不知道是否你限制.NET 2.0可延伸至3.5)然後this other question on the same topic具有this great answer

string json = @"{ ""id"": 13, ""value"": 255 }"; 

var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 

var dict = serializer.Deserialize<Dictionary<string, int>>(json); 

您需要添加對System.Web.Extensions的引用以使用該類。

+0

感謝您的回覆,但我被困在2.0 :(我做了一個自定義類來處理這種情況,雖然需要時間。 –