0
我正在開發一個使用光滑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正確嗎?
仍然有這個問題,'圖像[] []固體'是我的二維數組圖像。我簡單地調用''solids ='然後解析,'parse((JSONArray)layer'圖層是一個包含實體索引之一的JSONObject,'.get(「data」)'.get通過在我的JSON請求的圖層對象內找到的關鍵「數據」 – SenjuXo
您可以提供您的JSON文本嗎?並且您是否試過跳過這個強制轉換並調用'solids = layer.getJSONArray(「data」);'' – RPresle