从java中的json文件中读取

时间:2018-05-23 09:44:39

标签: 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":,#34; 1":没有键旁边,所以我可以使用{{ 1}}功能。 我尝试了.get("KEY")之类的内容,然后每次都将jsobj.get(i)的值增加1,但这根本不起作用。

这是我第一次尝试用json做某事,所以我不知道我想做的事情是对的。 提前致谢

1 个答案:

答案 0 :(得分:1)

假设您的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.
}