Как преобразовать LitJson Json в NewtonSoft Json в единстве С#?
Пример :
В ЛитДжсон
JsonData CJsonData;
cJsonData = JsonMapper.ToObject(www.downloadHandler.text);
Debug.log(cJsonData["reason"].ToString();
// Этот cJsonData может содержать вложенный массив.
Как выглядит код в Newtonsoft Json для ios?
Я не хочу создавать свойство класса, потому что возврат из www.donwloadHandler.text может быть другим. Это зависит от возвращения. При использовании LitJson с типом данных JsonData и использовании JsonMapper.Tobject я мог легко получить данные без дополнительного кода.
*
In LitJson we have DataType JsonData which is automatic convert it to an associated array from Mapper.
*
Я хочу, чтобы я мог получить данные, такие как LitJson
Debug.log(cJsonData["причина"].ToString();
Или, может быть
Debug.log(cJsonData["причина"]["abc"].ToString();
Или, может быть
Debug.log(cJsonData["причина"]["cc"]["aaa"].ToString();
Но в newtonsoft json мы должны добавить класс для десериализации объекта.
В ньютонсофт json:
someclass Json = JsonConvert.DeserializeObject<someclass>(www.donwloadHandler.text);
Этого я не хочу. Потому что нам нужно добавить некоторый класс
и это :
string data = JsonConvert.DeserializeObject(www.downloadHanlder.text);
Этого я тоже не хочу. Потому что это строка, а не связанный массив, например litjson.
Это ясно?
Спасибо
@Ben Я хочу, чтобы в newtonsoft json результат был таким же, как в моем примере litjson выше? Как выглядит код в newtonsoft json?
@ Бен, пожалуйста, посмотри на вопрос еще раз. Я отредактировал вопрос с более подробным объяснением.





Это почти то же самое. Не нужно десериализовать для чтения данных, просто используйте 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();
}
}
Я не совсем уверен, что вам нужно. Это просто вопрос, как получить поле json с помощью newtonsoft?