json - 如何在 Unity 中进行 JSON 解析?
问题描述
我有一个字符串变量,其中包含以下 JSON。
[
{
"MeterLookup_TblRefID": 233,
"NetworkLookup_TblRefID": 3,
"Network_Name": "SS-43 SEWA SCADA (Command Center)",
"Longitude": 55.403544,
"Latitude": 25.366666,
"OnOFfStatus": true
},
{
"MeterLookup_TblRefID": 297,
"NetworkLookup_TblRefID": 4,
"Network_Name": "SS-8 MaySaloon",
"Longitude": 55.406274,
"Latitude": 25.360654,
"OnOFfStatus": true
},
{
"MeterLookup_TblRefID": 298,
"NetworkLookup_TblRefID": 5,
"Network_Name": "SS-1 Al Nasserya Driving School",
"Longitude": 55.404669,
"Latitude": 25.367591,
"OnOFfStatus": true
}
]
我想将它统一解析为 JSON 对象
. 任何人都可以请告诉我该怎么做。
解决方案
使用这个功能:
public static T[] DeserializeFromJsonArray<T>(string jsonString)
{
string newJson = "{ \"array\": " + jsonString + "}";
Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(newJson);
return wrapper.array;
}
像这样:
JsonObjectModel[] arrayOfObjects = DeserializeFromJsonArray<JsonObjectModel>(jsonArrayString);
如果您想再次序列化,请执行以下操作:
public static string SerializeToJsonArray<T>(T[] arrayToSerialize)
{
Wrapper<T> wrapper = new Wrapper<T>();
wrapper.array = arrayToSerialize;
return JsonUtility.ToJson(wrapper);
}
并像这样使用它:
string jsonString = JsonManager.SerializeToJson<JsonArrayModel>(jsonArrayModel);
如果您有更多问题,我得到了一些 UnityUtils 的仓库,其中包括此 JsonManaging 的示例:https ://github.com/EricBatlle/SimpleUnityUtils/tree/master/Assets/Simple_JsonManager
推荐阅读
- java - tTorrent Java:跟踪目录中的新 torrent 文件
- c - 错误:从不兼容的类型“void”分配给“int”
- object - 如何在 VUE.js 中更改对象值
- c - 如何在 SIGSEGV 处理程序内安全地转储内存。C、Linux
- javascript - 带有自动播放的滑块以及带有 CSS HTML JS 的下一个和上一个箭头
- c# - 即使我添加了 app.useCors (Angular, c# .net core API),也会出现 Access-Control-Allow-Origin 错误
- server - 以太网屏蔽未出现在网络上
- android - 试图超过最大出队缓冲区计数 (12)
- django - docker ERROR:对于 nginx 无法启动服务 nginx:驱动程序在编程外部连接时失败
- java - 使用 OpenCv 在图像处理期间保留字符顺序