0

我想使用 Java 从 JSON 中获取一个值。

我想要得到的值是cityand country

我使用 json-simple 库,这是 JSON:

{
  "company" : {
    "name" : {
      "leader" : "leader_name" 
    },
    "location" : {
      "city" : "city_name",
      "country" : "country_name"
    }
  }
}

这是代码:

package readjson;

import java.io.FileReader;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

public class ReadJson {

public static void main(String[] args) { 
    JSONParser jp = new JSONParser();
    try {

        Object object = jp.parse(new FileReader("/home/azuharu/output.json"));
        JSONObject jso = (JSONObject) object;

        String city = (String) jso.get("city");
        String country = (String) jso.get("country");

        System.out.println("city: "+city);
        System.out.println("country: "+country);

    } catch (Exception e) {
        e.printStackTrace();
    }    
  }
}

城市和国家是空的,我希望它是。为什么没有打印正确的值?

4

1 回答 1

2

您必须先导航到/company/location

JSONObject jso = (JSONObject) object;
JSONObject company = (JSONObject) jso.get("company");
JSONObject location = (JSONObject) company.get("location");
String city = (String) location.get("city");
String country = (String) location.get("country");
于 2013-07-24T10:26:40.290 回答