2013-03-06 4 views
2

У меня есть строка, как показано на C#. Я пытался с JSON.NET, но не мог понять, как получить значение.Разбирать строку json с помощью json.net?

"{[{'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

Вы читали документацию для библиотеки или пытался что-нибудь сам? Есть около дюжины учебников онлайн, которые должны помочь вам начать работу. –

+1

Примечание. В приведенном ниже примере кода удаляются дополнительные фигурные скобки (присутствующие в тексте вопроса), которые окружают массив. они приводят к сбою операции десериализации. –

+0

@ M.Babcock Да. Я пытаюсь использовать Dataset в json.net, но в моей json-строке нет корня. Я всегда показываю их с помощью root. – jean

ответ

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 Console App

Смежные вопросы