Конвертировать LitJson в Newtonsoft Json для запуска на устройстве IOS Unity C # - PullRequest
0 голосов
/ 08 мая 2019

Как преобразовать LitJson Json в NewtonSoft Json в единство c #?

Пример:

В LitJson

JsonData CJsonData;
cJsonData = JsonMapper.ToObject(www.downloadHandler.text);
Debug.log(cJsonData["reason"].ToString();

// ThiscJsonData может содержать вложенный массив.

Как выглядит код в Newtonsoft Json для ios?

Я не хочу создавать свойство класса, потому что возвращаемое из www.donwloadHandler.text может быть другим.Это зависит от возврата.При использовании LitJson с типом данных JsonData и использованием JsonMapper.Tobject я мог бы легко получать данные без дополнительного кода.

*

В LitJson у нас есть DataType JsonData, который автоматически преобразует егов связанный массив из Mapper.

*

Я хочу получить такие данные, как LitJson

Debug.log(cJsonData ["reason"]. ToString ();

или, может быть,

Debug.log (cJsonData ["reason"] ["abc"]. ToString ();

Или, может быть,

Debug.log (cJsonData ["reason"] ["cc"] ["aaa"]. ToString ();

Но в newtonsoft json мы должны добавить класс для десериализации объекта.

В newtonsoft json:

someclass Json = JsonConvert.DeserializeObject<someclass>(www.donwloadHandler.text);

Это я не хочу. Потому что мынужно добавить someclass

и это:

string data = JsonConvert.DeserializeObject(www.downloadHanlder.text);

Это также мне не нужно. Потому что это строка, а не связанный массив, как litjson.

Это ясно?

Спасибо

1 Ответ

1 голос
/ 08 мая 2019

Это почти то же самое.Нет необходимости десериализации для чтения данных, просто используйте JObject:

using System;
using Newtonsoft.Json.Linq;

public class Program
{
    public static void Main()
    {
        string json = @"
            {
              ""CPU"": ""Intel"",
              ""Integrated Graphics"": true,
              ""USB Ports"": 6,
              ""OS Version"": 7.1,
              ""Drives"": [
                ""DVD read/writer"",
                ""500 gigabyte hard drive""
              ],
              ""ExtraData"" : {""Type"": ""Mighty""}
            }";

        JObject o = JObject.Parse(json);

        Console.WriteLine(o["CPU"]);
        Console.WriteLine();
        Console.WriteLine(o["Drives"]);
        Console.WriteLine();
        Console.WriteLine(o["ExtraData"]["Type"]);

        Console.ReadLine();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...