这是我要解析并变成字典的json对象:
[{"Id":100, "Name":"Rush", "Category":"Prog"},
{"Id":200, "Name":"Led Zeppellin", "Category":"Rock"},
{"Id":300, "Name":"Grumpy Lettuce", "Category":"Weird"}
]
我希望将其中的ID和名称转换为Dictionary<int, string>()
谢谢!
答案 0 :(得分:1)
.NET框架中有基本的JSON支持:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
但是,我建议使用专门的库JSON.NET:如http://james.newtonking.com/pages/json-net.aspx
答案 1 :(得分:0)
void Main()
{
const string thatJsonYouWrote = @"[{""Id"":100, ""Name"":""Rush"", ""Category"":""Prog""}, {""Id"":200, ""Name"":""Led Zeppellin"", ""Category"":""Rock""}, {""Id"":300, ""Name"":""Grumpy Lettuce"", ""Category"":""Weird""}]";
IDictionary<int,string> thatThingYouWanted = ParseJsonExample(thatJsonYouWrote);
}
IDictionary<int,string> ParseJsonExample(string json)
{
object[] items = ((object[])new JavaScriptSerializer().DeserializeObject(json));
return items
.Cast<Dictionary<string,object>>()
.ToDictionary(_ => Convert.ToInt32(_["Id"]), _ => _["Name"].ToString());
}
注意:您需要引用System.Web.Extensions.dll
并导入System.Web.Script.Serialization
命名空间