teledexterus Ответов: 1

Как вы сериализовать и десериализовать без newtonsoft


Как вы сериализовать и десериализовать без Newtonsoft? Это моя попытка.
var serializer = new JavaScriptSerializer();
var json1 = "[count:{first:1,second:2,third:3},{first:11,second:22,third:33},{first:111,second:222,third:333}]";
var jsons = serializer.Serialize(json1);
dynamic jsona = serializer.Deserialize(json1, typeof(object));


Вторая часть: как извлечь данные:

for each (jsone in jsona)
                n+=1;
                arr(1,n)=jsone.first;
                arr(2,n)=jsone.second;
                arr(3,n)=jsone.last;
            next


Что я уже пробовал:

Попробовал установить Newtonsoft. Безрезультатно.

Этот простой Javasciptserilizer тоже не работает, но он самый лучший и простой, который я нашел.

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

[подсчет: {первый:1, второй:2, третий: 3}, {Первый:11, второй:22, третий:33}, {первый:111, второй:222, третий:333}]
вышеизложенное не является допустимым форматом json, оно должно быть

var json1 = "{count:[{first:1,second:2,third:3},{first:11,second:22,third:33},{first:111,second:222,third:333}]}";

и десериализовать как
public class MyClass
      {
          public Number[] count { get; set; }

      }
      public class Number
      {
          public int first { get; set; }
          public int second { get; set; }
          public int third { get; set; }
      }

      static void Main()
      {

          var serializer = new JavaScriptSerializer();
          var json1 = "{count:[{first:1,second:2,third:3},{first:11,second:22,third:33},{first:111,second:222,third:333}]}";
          MyClass jsona = (MyClass)serializer.Deserialize(json1, typeof(MyClass));
          foreach (Number item in jsona.count)
          {
              var first = item.first;
              var second = item.second;
              var third = item.third;
          }



      }