我在JSON上有点小说,而且c# 无论如何,我需要加载一些JSON并在unity3d中基于一个带有JSON文件内容的二维数组设置一个游戏网格。
我使用Darktable的MINIJson,我成功地可以获取简单的数据,但是当我尝试打开下面的json时,我的大脑会冻结: - (
我希望有人会给我一个简短的脚本来与MINIJson一起做。
我希望能够从这个Json制作我的游戏网格:
{ “布局”:[[1,0,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1],
[1,1,1,1,3,1,1,1,1],
[1,1,0,1,1,6,1,1,1],
[1,1,1,1,1,1,1,1,1],
[1,2,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1],
[1,1,1,0,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1]],
}
我可以像我这样从我的JSON文件中获取数据
TextAsset t = (TextAsset) Resources.Load("levels/Level_0", typeof(TextAsset));
string jsonString = t.ToString();
var dict = Json.Deserialize(jsonString) as Dictionary<string,object>;
Debug.Log("dict['layout'][0]: " + ((List<Object>) dict["layout"])[0]);
但是我怎样才能把这个json从字典中拿到我的
int layout[9,9]
我希望有人能够提供帮助。 在此先感谢: - )
答案 0 :(得分:0)
试试这个:
int[,] layout = new int[9,9];
var dict = (Dictionary<string, object>)Json.Deserialize(jsonString);
var list = (List<object>)dict["layout"];
for (int row = 0; row < 9; row++)
{
var items = (List<object>)list[row];
for (int col = 0; col < 9; col++)
{
layout[row, col] = Convert.ToInt32(items[col]);
}
}