2012-03-30 2 views
0

мне нужно разобрать JSON файлы, которые выглядят следующим образом:Как получить имя маркера

{"20120101":{"Jeff":{"Status":"Sleepy", "Weight":212}, "Cathy":{"Status":"Angry", "Weight":172}} 
{"20120102":{"Jeff":{"Status":"Alert", "Weight":207}, "Cathy":{"Status":"Sick", "Weight":168}} 

Я не могу понять, способ извлечения даты (20120101 и 20120102) и имена (Jeff и Кэти) от моего json. Мои попытки выглядят следующим образом:

private void LoadFile(string fileName) 
    { 
     var json = File.ReadAllText(fileName); 
     JObject days = JObject.Parse(json); 
     foreach (var dayAsObject in days) 
     { 
      var day = (JToken) dayAsObject; 
      var a = day.Root.ToString(); 
      var t = day.ToString(); 
      var z = day.First; 
      Console.WriteLine(day+t+z+a); 
     } 

ответ

1

Лучше сформулировать JSON будет выглядеть

{"20120101":{ "name":"Jeff", "Status":"Sleepy", "Weight":212}, { "name":"Cathy", "Status":"Angry", "Weight":172}} 

Тогда очень легко получить день [ «имя»]. Я бы предложил изменить ваш json. Если вы абсолютно не можете, я думаю, что свойство, которое вы ищете, это PropertyName.

Я использую встроенную систему System.Web.Script.Serialization JSON libary. Если вам не нужно делать причудливые вещи, он отлично работает с типом динамического объекта.

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