如何在c#中解析简单的json对象而不需要额外的库?

时间:2013-05-17 22:44:51

标签: c# json parsing

这是我要解析并变成字典的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>()

谢谢!

2 个答案:

答案 0 :(得分:1)

答案 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命名空间