0

Javaを使用してJSONから値を取得したい。

取得したい値はcitycountryです。

私は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();
    }    
  }
}

都市と国は null であり、そうなることを期待しています。正しい値が出力されないのはなぜですか?

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 に答える