java - 从java中读取一个json文件

标签 java json json-simple

你好,我一直在尝试使用 json.simple 库在 java 中读取 JSON 文件,我阅读了十几个关于如何执行此操作的教程,但最终我的 JSON 文件的编写方式导致我很多麻烦。

{
"0": {
    "POI": "43df8ad6f964a520b92e1fe3",
    "latitude": 40.731356448341,
    "longitude": -73.988671302795,
    "photos": "https:\/\/irs3.4sqi.net\/img\/general\/612x612\/343235_eezF7KZ55QpdVVNuMTFOO86bikjUbmrxb1IEuf2C1uI.jpg",
    "POI_category_id": "Arts & Entertainment",
    "POI_name": "AMC Loews Village 7"
  },
  "1": {
    "POI": "4bfec352daf9c9b64038f9ef",
    "latitude": 40.75358312925,
    "longitude": -74.214450350548,
    "photos": "https:\/\/irs1.4sqi.net\/img\/general\/540x720\/c5xfqE_ajHOZb1LBtUBEdYNlc9aQ12EoPcavI_dVkDw.jpg",
    "POI_category_id": "Food",
    "POI_name": "Wendy's"
  }
...
}

我的问题是我不知道如何获得第一个值 "0":, "1": 没有旁边的键所以我可以使用 .get("KEY")功能。 我尝试了类似 jsobj.get(i) 的方法,然后每次都将 i 的值增加 1,但这根本不起作用。

这是我第一次尝试使用 json 做一些事情,所以我不知道我尝试做的事情是否正确。 提前致谢

最佳答案

假设您的 JSON 存储在一个名为 json 的字符串中:

JSONObject obj = (JSONObject)new JSONParser().parse(json);
JSONObject ele;
for(int i=0 ; (ele=(JSONObject)obj.get(Integer.toString(i)))!=null ; i++) {
    System.out.println("Index " + i + ":");
    System.out.println(ele.get("POI"));
    System.out.println(ele.get("latitude"));
    System.out.println(ele.get("longitude"));
    ///etc.
}

关于java - 从java中读取一个json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50485013/

相关文章:

java - 使用 json-simple 时解析 JSON 字符串并保留键数据顺序,无需手动构造 HashMap

java - 使用 SWIG 生成 Java 接口(interface)

java - 使 While 语句为 True(从另一个类调用方法)

java - Spring boot json简单导入失败

JAVA:如何将 JsonObject 更新为另一个 JsonObject

java - JSON 中 map 的带点路径 (Java)

java - 是否可以将最后一列作为 SWT 表中的复选框列?

java - 如何使 BaseAdapter 显示 AlertDialog android 应用程序

Mysql从字符串中选择特定的json值

java - json-simple 的 ParseException NoClassDefFoundExcpetion