2013-03-06 71 views
2

我有一个类似于C#中的字符串。我试着用JSON.NET,但无法弄清楚如何检索值。使用json.net解析json字符串?

"{[{'Name':'AAA','Age':'22','Job':'PPP'}, 
{'Name':'BBB','Age':'25','Job':'QQQ'}, 
{'Name':'CCC','Age':'38','Job':'RRR'}]}"; 

我想

foreach (user in users){ 
    Messagebox.show(user.Name,user.Age) 
} 

任何帮助将不胜感激。

+0

你读过的图书馆或尝试新鲜事物的文档自己呢?网上有十几个教程,应该可以帮助你开始。 – 2013-03-06 05:52:11

+1

注意:下面我的代码示例移除了阵列周围的额外大括号(存在于问题文本中)。它们会导致反序列化操作失败。 – 2013-03-06 06:00:17

+0

@ M.Babcock是的,我尝试在json.net中使用数据集,但是在我的json字符串中没有root。 – jean 2013-03-06 06:04:12

回答

7

下面是一个代码示例:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var text = @"[{'Name':'AAA','Age':'22','Job':'PPP'}, 
        {'Name':'BBB','Age':'25','Job':'QQQ'}, 
        {'Name':'CCC','Age':'38','Job':'RRR'}]"; 

     dynamic data = Newtonsoft.Json.JsonConvert.DeserializeObject(text); 
     for (var i = 0; i < data.Count; i++) 
     { 
      dynamic item = data[i]; 
      Console.WriteLine("Name: {0}, Age: {1}", (string)item.Name, (string)item.Age); 
     } 

     Console.ReadLine(); 
    } 
} 

我下载Json.Net通过的NuGet,但除此之外,这是一个标准的.NET 4.0控制台应用程序