【发布时间】:2015-12-04 04:15:21
【问题描述】:
我正在使用光滑的 2D lwjgl 开发一个小型横向卷轴游戏,并且在投射某些东西时遇到了当前错误。
似乎没有意识到我将 json 字符串转换为 JsonArray。
错误和作用,
java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONArray
at world.World.load(World.java:35)
at game.Engine.initStatesList(Engine.java:64)
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:164)
功能:
public static void load(String path) throws Exception
{
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader(path));
JSONObject jSonOBJ = (JSONObject)obj;
JSONArray layers = (JSONArray)jSonOBJ.get("layers");
int amount = layers.size();
for (int i = 0; i < amount; ++i)
{
JSONObject layer = (JSONObject) layers.get(i);
String type = (String)layer.get("name");
if (type.equals("solids"))
{
solids = parse((JSONArray)layer.get("data")); //error
}
else if (type.equals("spawns"))
{
//to-do
}
}
}
这只是为了解析 json、我的地图、瓦片是否是实体的,但我已经被这个小错误困住了一段时间。代码行 solids = parse((JSONArray)layer.get("data")); 应该将其转换为 JSONArray 正确吗?
【问题讨论】:
标签: json type-conversion