3
안녕하세요, JsonObject에서 요소의 값을 가져 오려고합니다. 나는 Gson 라이브러리와 함께 java를 사용하고 있습니다.Json에서 요소의 값을 얻으려고하면 null이 반환됩니다.
"status": "OK", "routes": [ {
"summary": "Mehwar Al Moneeb",
"legs": [ {
"steps": [ {
"travel_mode": "DRIVING",
"start_location": {
"lat": 30.0655100,
"lng": 31.2096600
},
"end_location": {
"lat": 30.0654400,
"lng": 31.2096000
},
"polyline": {
"points": "mdovDksn}DLJ",
"levels": "BB"
},
"duration": {
"value": 1,
"text": "1 min"
},
"html_instructions": "Head \u003cb\u003esouthwest\u003c/b\u003e on \u003cb\u003eOmar Toson\u003c/b\u003e toward \u003cb\u003eMohammed Roshdi\u003c/b\u003e",
"distance": {
"value": 9,
"text": "9 m"
}
}
나는 최상위 요소 "경로"의 벌금을 얻고 그것을 인쇄 표시 : 여기
String s = "http://maps.googleapis.com/maps/api/directions/json?origin=30.065634,31.209473&destination=29.984177,31.440052&sensor=false";
URL url = new URL(s);
BufferedReader r = new BufferedReader(new InputStreamReader(
((HttpURLConnection) url.openConnection()).getInputStream()));
JsonStreamParser jsp = new JsonStreamParser(r);
JsonParser jp = new JsonParser();
JsonElement jsonElement = jp.parse(r);
JsonObject jsonObject = jsonElement.getAsJsonObject();
System.out.println(jsonObject.get("summary"));
은 JSON의 일부입니다 : 여기
코드의 관련 부분입니다 요소의 내부에는 무엇을 넣었지만, 예를 들어 "summary"요소를 표시하려고하면 반환 값은 null입니다. 출력에 whats가 표시되므로 결과적으로 그 값을 얻을 수 없습니다. 뭐가 잘못 되었나요? 어떤 JsonElement의 가치를 얻을 수 있습니까? 최대한 빨리 회신 해주십시오. 미리 감사드립니다.
답장을 보내 주셔서 감사합니다. 당신은 먼저 json 파일의 jsonObject를 얻은 다음 맨 위 요소를 배열로 가져오고 내부의 요소를 얻으려면 먼저 Json 객체로 가져와야합니다. 그러면 요소 이름을 제공하여 배열로 가져와야합니다. ... – Muaz
오른쪽. 코드가 위에 업데이트되었습니다. –