代码如下
void ParseItemJson ()
{
itemList = new List<Item> ();
//文本在Unity中为TextAsset类型
TextAsset itemText = Resources.Load<TextAsset> ("Items");
string itemJson = itemText.text;//物品信息的json格式
// Debug.Log (itemJson); 是可以读取到json内容的
//使用jsonMapper去解析json文本
JsonData jsonData = JsonMapper.ToObject(itemJson);
foreach (JsonData temp in jsonData) {
JsonData id = temp ["id"];
int i = (int)id;
Debug.Log (i);
}
}
在start方法调用该方法,然后报错为
InvalidOperationException: Instance of JsonData is not a dictionary
LitJson.JsonData.EnsureDictionary ()
LitJson.JsonData.System.Collections.Specialized.IOrderedDictionary.GetEnumerator ()
LitJson.JsonData.System.Collections.IDictionary.GetEnumerator ()
InventoryManager.ParseItemJson () (at Assets/Scripts/InventoryManager.cs:43)
InventoryManager.Start () (at Assets/Scripts/InventoryManager.cs:31)
但是jsondata本就是一个数组,为什么用foreach循环遍历无法读取呢?