如何在Java中解析此JSON数据

如何在Java中解析此JSON数据,java,json,parsing,Java,Json,Parsing,下面是我需要导入JAVA变量的JSON数据 { "world": { "-61,66": "1", "-62,66": "2" } } 我尝试过标准教程,但是它们都需要一个格式化的JSON文件,作者可以控制该文件。在这种情况下,我不是。 为了解决这个问题,Minecraft插件名为派系SUUID,它将玩家为其派系声明的地图块存储为x和z的网格数块,因此-61,66与x、z对齐,1和2与另一个JSON文件中的派系ID引用对齐,现在不需要交叉索引。我只需要能够在我的代码中通

下面是我需要导入JAVA变量的JSON数据

{
  "world": {
    "-61,66": "1",
    "-62,66": "2"
  }
}
我尝试过标准教程,但是它们都需要一个格式化的JSON文件,作者可以控制该文件。在这种情况下,我不是。 为了解决这个问题,Minecraft插件名为派系SUUID,它将玩家为其派系声明的地图块存储为x和z的网格数块,因此-61,66与x、z对齐,1和2与另一个JSON文件中的派系ID引用对齐,现在不需要交叉索引。我只需要能够在我的代码中通过派系ID来分隔声明

世界是一个对象,但我无法将下面的项目解析为数组

@抑制警告未检查 公共静态真空总管{ JSONParser=新的JSONParser; 试一试{ Object obj=parser.parsenew文件读取器 C:\\TestServer\\jar\\plugins\\parties\\board.json; JSONObject JSONObject=JSONObject对象; 从下面的错误中删除第59行 JSONArray theworld=JSONArray jsonObject.getworld; 迭代器迭代器=theworld.Iterator; 而iterator.hasNext{ System.out.printlniterator.next; Main.logToFileFTOP->+iterator.next; } }捕获异常e{ e、 打印跟踪; } }
您的数据无效,请确保检查您可以解析的数据

问题出在这一行代码中:

JSONObject JSONObject=JSONObject对象

在你的情况下,什么是有效的

JSONArray JSONArray=JSONArray obj

jsonObject.getworld返回一个对象{-61,66:1,-62,66:2},因此您可能需要迭代结果对象的键集:

Map Map=新的HashMap; 地图put-61,66,1; 地图put-62,66,2; JSONObject obj=新的JSONObject;//obj={world:{-61,66:1,-62,66:2}} obj.putworld,新JSONObjectmap; JSONObject worldObject=obj.getJSONObject世界; 设置keySet=worldObject.keySet;//键集=[-61,66,-62,66] System.out.printlnworldObject.keySet; 对于字符串键:键集{ System.out.printlnworldObject.getkey;//返回1,然后返回2 }
JSON中没有数组,因此无法将其转换为一个数组。{…}表示对象,[…]表示数组。JSON不包含数组。JSON中没有[或]。
[14:51:16 WARN]: java.lang.ClassCastException: org.json.simple.JSONObject cannot be cast to org.json.simple.JSONArray
[14:51:16 WARN]:        at com.ljd.perditionfcore.events.FTOPScan.main(FTOPScan.java:59)
[14:51:16 WARN]:        at com.ljd.perditionfcore.Main.onEnable(Main.java:35)
[14:51:16 WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
[14:51:16 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332)
[14:51:16 WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404)
[14:51:16 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:313)
[14:51:16 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:272)
[14:51:16 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:726)
[14:51:16 WARN]:        at org.bukkit.Bukkit.reload(Bukkit.java:556)
[14:51:16 WARN]:        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25)
[14:51:16 WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:143)
[14:51:16 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619)
[14:51:16 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:582)
[14:51:16 WARN]:        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:416)
[14:51:16 WARN]:        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:379)
[14:51:16 WARN]:        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:715)
[14:51:16 WARN]:        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:618)
[14:51:16 WARN]:        at java.lang.Thread.run(Unknown Source)