【发布时间】:2019-03-06 07:08:38
【问题描述】:
这是我的 JSON 文件:
[
{
"name": "An item"
}
]
这是我的助手类:
public static class JsonHelper
{
public static T[] FromJson<T>(string json)
{
string newJson = "{ \"array\": " + json + "}";
Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(newJson);
return wrapper.array;
}
[System.Serializable]
private class Wrapper<T>
{
public T[] array;
}
}
这是我试图制作对象的类:
public class Item
{
public string name, desc;
}
这是我调用助手类的地方:
Item[] itemList = JsonHelper.FromJson<Item>(itemJson.text);
问题是itemList 和wrapper.array 中的JsonHelper 是null。
我直接从以下地址复制代码:
http://www.boxheadproductions.com.au/deserializing-top-level-arrays-in-json-with-unity/
和
https://forum.unity.com/threads/how-to-load-an-array-with-jsonutility.375735/
我做错了什么?
【问题讨论】:
-
Unity 的 JSON 实现不支持展开的顶级数组。无论如何,您都不想养成使用它们的习惯,考虑到顶级 JSON 数组多年来一直是多个安全漏洞的目标。
标签: c# json unity3d jsonparser