从.json文件中读取

时间:2016-08-10 08:51:49

标签: java json

Hii我无法在Java中读取包含以下结构的.json文件,

{"id":"1", "name":"A", "address":{"plot no":"22", "street":"road"}}
{"id":"2", "name":"A", "address":{"plot no":"22", "street":"road"}}
{"id":"3", "name":"A", "address":{"plot no":"22", "street":"road"}}
{"id":"4", "name":"A", "address":{"plot no":"22", "street":"road"}}

我有这么10k的记录。我不能改变结构。我想阅读它并对“地址”进行处理。我需要一种有效的方法来读取它并仅获取地址。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

yourJsonObject是您在java中作为json对象提取的json文件。这个:

JSONObject jso = yourJsonObject.getJSONObject("address") ; 

将您的“地址”部分提取为json对象。然后你可以对它进行所有经典处理。

答案 1 :(得分:0)

你可以使用JSON简单库,我希望你对这个例子有所了解;

    JSONParser parser = new JSONParser();
    JSONArray a = (JSONArray) parser.parse(new FileReader("file name"));

    for (Object o : a){
      JSONObject person = (JSONObject) o;

      String name = (String) person.get("name");
      System.out.println(name);

      String city = (String) person.get("city");
      System.out.println(city);

      String job = (String) person.get("job");
      System.out.println(job);

     JSONArray cars = (JSONArray) jsonObject.get("cars");

     for (Object c : cars)
       {
        System.out.println(c+"");
        }
     }