2013-05-15 126 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 :(我做了一个自定义类来处理这种情况,虽然需要时间。 –