Десериализовать объекты JSON один за другим, используя json.net (XAMARIN) - PullRequest
0 голосов
/ 11 июня 2018

Я новичок в этом.Я использую Xamarin в VS2017.

У меня есть файл JSON следующим образом

[ {  
  "LEDGERID":1,
  "LEDGERNAME":"CASH",
  "UNDER":"19",
  "CREDIT_PERIOD":"0",
  "CREDIT_LIMIT":"0",
  "LEDGER_TYPE":"DEBIT",
  "OPENBAL":120196.00,
  "STATUS":"True",
  "USER_GEN":false,
  "date":null,
  "arabic_name":null},
  {
  "LEDGERID":2,
  "LEDGERNAME":"PURCHASE",
  "UNDER":"17",
  "CREDIT_PERIOD":"0",
  "CREDIT_LIMIT":"0",
  "LEDGER_TYPE":"DEBIT",
  "OPENBAL":0.00,
  "STATUS":"True",
  "USER_GEN":false,
  "date":null,
  "arabic_name":null
  }
  ]

Это более длинный файл, но я сократил его для облегчения понимания.Мне нужно взять его один за другим, потому что иногда мне нужно давать контрольные примеры, прежде чем вносить значения в список.Я использую хранилище PCL в XAMARIN для хранения файла Json.Я просмотрел документы по десериализации NewtonSoft Json.Я надеюсь, что кто-то может помочь мне заранее спасибо

1 Ответ

0 голосов
/ 11 июня 2018
  1. Ваш JSON недействителен, у вас было слово nul, но я уверен, что это было ошибкой

  2. Отнесите ваш JSON http://json2csharp.com/ и создайте из него класс и назовите его как хотите

  3. Получите себе пакет Json.net Nuget

Пример класса

public class RootObject
{
    public int LEDGERID { get; set; }
    public string LEDGERNAME { get; set; }
    public string UNDER { get; set; }
    public string CREDIT_PERIOD { get; set; }
    public string CREDIT_LIMIT { get; set; }
    public string LEDGER_TYPE { get; set; }
    public double OPENBAL { get; set; }
    public string STATUS { get; set; }
    public bool USER_GEN { get; set; }
    public object date { get; set; }
    public object arabic_name { get; set; }
}

Использование

var results = JsonConvert.DeserializeObject<List<RootObject>>(json);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...