从java中的json文件读取

从java中的json文件读取,java,json,json-simple,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

您好,我一直在尝试使用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.
}

您使用的是哪个库?如果您使用
org.json
库作为
json
表示,您可以读取整个文件并将内容存储在
StringBuilder
中,然后使用该
StringBuilder.toString()
实例化
新的JSONObject(StringBuilder.toString())
。“我尝试了类似于jsobj.get(I)的东西,然后每次都将I的值增加1,但这根本不起作用。”-这应该可以很好地工作,但记住
I
在这种情况下需要是字符串。你能不能包含一个字符串,这样我们就可以看到发生了什么?org.json.simple是我正在使用的@M库ạnhQuyế特恩盖伊ễn@berry120出于好奇,我在2分钟前亲自尝试了一下,效果不错,但我不知道提取数据的最佳方法是什么:/