如何在统一c#中将LitJson Json转换为NewtonSoft Json?
示例:
在LitJson
JsonData CJsonData;
cJsonData = JsonMapper.ToObject(www.downloadHandler.text);
Debug.log(cJsonData["reason"].ToString();
//此cJsonData可以包含嵌套数组。
在iOS的Newtonsoft Json中代码如何?
我不想创建类属性,因为从www.donwloadHandler.text返回的内容可能有所不同。这取决于回报。 当使用数据类型为JsonData的LitJson并使用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);
这我不想要。因为我们需要添加一些类
和这个:
string data = JsonConvert.DeserializeObject(www.downloadHanlder.text);
这也不是我想要的。因为它是字符串,而不是像litjson这样的关联数组。
很清楚吗?
谢谢
答案 0 :(得分:1)
差不多。无需反序列化即可读取数据,只需使用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();
}
}