我有一些产品的json,按类别分类,例如:
{
"Shoes": [
{ "title": "Product One", "price": 100 ... },
....
],
"Hats": [
{ "title": "Product 23", "price": 12.2 ... },
...
]
}
然后,像这样加载:
保存到StreamingAssets / products.json。
public class Products {
public List<Shoes> Shoes;
public List<Hats> Hats;
public static Products CreateFromJSON(string json) {
string filePath = Path.Combine(Application.streamingAssetsPath, "products.json");
if (File.Exists(filePath)) {
string dataAsJson = File.ReadAllText(filePath);
Products p = JsonUtility.FromJson<Products>(dataAsJson);
return p;
}
Debug.Log("Missing JSON file: " + filePath);
return null;
}
}
public class Shoes: Model { }
public class Hats: Model { }
public class Model {
public string title;
public int price;
public string sprite;
...
}
可以正常工作,可以加载/解析...,但是
我想动态访问产品,以便能够在Products
循环foreach
中循环访问Products[nameOfsubCategory][0].title
。
Products.Shoes[0].title
当前正在实施,但这不是一个好习惯,也没有意义。