logo

Java 예제에서 JSON 객체로부터 값을 얻는 방법

JSON 데이터 교환 형식입니다. 널리 사용되는 가볍고 언어 독립적인 형식입니다. 데이터를 JSON에서 XML로 변환할 수 있습니다. Java는 수많은 JSON 패키지를 제공합니다. 이러한 패키지의 도움으로 우리는 검색하거나 JSONObject에서 값을 가져옵니다. 우리는 두 가지 JSON 패키지를 사용했습니다. org.json 그리고 org.json.simple . 이 섹션에서는 다음 내용을 학습합니다. 적절한 예를 통해 Java의 JSONObject에서 값을 얻는 방법.

Java에서 JSONObject란 무엇입니까?

~ 안에 자바 , JSON객체 형식의 데이터를 포함하는 정렬되지 않은 컬렉션입니다. 이름-값 한 쌍. 이는 이름과 값 사이에 콜론이 있는 한 쌍의 중괄호로 묶인 문자열로 표시됩니다. 내부 형식은 이름으로 값에 액세스하고 이름으로 값을 추가하고 바꾸기 위한 메소드를 가져오고 넣어야 하는 객체입니다.

 { 'first name': 'John', 'city': 'Florida', 'age': '22' }, 

위의 예에서, 이름, 도시, 그리고 나이 이름이고, 존, 플로리다, 그리고 22 각각의 값입니다.

가운데 버튼 CSS

Java JSONObject 클래스

Java는 다음에서 정의된 JSONObject 클래스를 제공합니다. org.json 패키지. 이는 변경할 수 없는(챌린지할 수 없는) JSONObject 값을 나타냅니다. 객체 값은 정렬되지 않은 그룹 이름-값 한 쌍. 또한 수정 불가능한 JSON 개체 이름-값 매핑을 볼 수 있는 맵을 제공합니다. JSONObject 값은 다음과 같습니다. 부울, 문자열, 숫자, JSONObject, JSONArray, JSONNumber, JSONString 등 이러한 JSONObject 값은 다양한 해당 접근자 메서드를 사용하여 액세스할 수 있습니다.

그만큼 얻다() 메소드는 값을 찾으면 값을 반환하고 값을 찾지 못하면 예외를 발생시킵니다. 동안 고르다() 메서드는 예외를 발생시키는 대신 기본값을 반환합니다. 값은 null일 수 있습니다. 이 두 가지 방법의 주요 차이점입니다. 따라서 이 두 가지 방법은 JSONObject에서 값을 가져오는 데 유용합니다. 일반 메소드 get() 및 opt()에 의해 반환된 객체를 캐스팅하거나 쿼리할 수 있습니다.

그만큼 JSON객체 클래스에는 JSONObject에서 값을 가져오는 데 사용할 수 있는 다음 메서드가 포함되어 있습니다.

getBoolean() 메서드

이 메서드는 문자열 유형의 매개변수 이름을 구문 분석합니다. 구문 분석 매개변수에 대한 관련 매핑의 부울 값을 반환합니다. 연결된 매핑이 JsonValue.TRUE이면 true를 반환하고, 연결된 매핑이 JsonValue.FALSE이면 false를 반환합니다.

통사론:

 boolean getBoolean(String name) 

그것은 던진다 NullPointer예외 지정된 이름에 매핑이 없는 경우. 그것도 던진다 클래스캐스트예외 지정된 이름 매핑은 JsonValue.TRUE 또는 JsonValue.FALSE에 할당할 수 없습니다.

getInt() 메소드

을 얻는 데 사용됩니다. JsonNumber(이름).intValue(). 이 메서드는 문자열 유형의 매개변수 이름을 구문 분석합니다. 구문 분석된 매개변수에 대한 연관된 ​​매핑의 정수 값을 반환합니다.

통사론:

 int getInt(String name) 

그것은 던진다 NullPointer예외 지정된 이름에 매핑이 없는 경우. 그것도 던진다 클래스캐스트예외 지정된 이름 매핑을 JsonNumber에 할당할 수 없습니다.

getJsonArray() 메서드

을 얻는 데 사용됩니다. JsonArray get(이름). 이 메소드는 연관된 값이 반환될 String 유형의 인수 이름을 구문 분석합니다. 구문 분석된 매개변수에 대한 연관된 ​​매핑의 배열 값을 반환합니다. 개체에 매개변수에 대한 매핑이 없으면 null을 반환합니다.

통사론:

 JsonArray geJsonArray(String name) 

그것은 던진다 클래스캐스트예외 지정된 이름 매핑을 JsonArray에 할당할 수 없습니다.

getJsonNumber() 메서드

을 얻는 데 사용됩니다. (JsonNumber)get(이름). 이 메소드는 관련 값이 반환될 String 유형의 인수 이름을 구문 분석합니다. 구문 분석된 매개변수에 대한 연관된 ​​매핑의 숫자 값을 반환합니다. 개체에 매개변수에 대한 매핑이 없으면 null을 반환합니다.

자바에는 임의의 생성기가 없습니다.

통사론:

 JsonNumber geJsonNumber(String name) 

그것은 던진다 클래스캐스트예외 지정된 이름 매핑을 JsonNumber에 할당할 수 없습니다.

getJsonObject() 메서드

을 얻는 데 사용됩니다. (JsonObject)get(이름). 이 메소드는 관련 값이 반환될 String 유형의 인수 이름을 구문 분석합니다. 구문 분석 매개변수에 대한 연관된 ​​매핑 개체를 반환합니다. 개체에 매개변수에 대한 매핑이 없으면 null을 반환합니다.

자바 스위치 int

통사론:

 JsonObject geJsonObject(String name) 

그것은 던진다 클래스캐스트예외 지정된 이름 매핑을 JsonObject에 할당할 수 없습니다.

getJsonString() 메서드

을 얻는 데 사용됩니다. (JsonString)get(이름). 이 메소드는 관련 값이 반환될 String 유형의 인수 이름을 구문 분석합니다. 구문 분석된 매개변수에 대한 연관된 ​​매핑의 문자열 값을 반환합니다. 개체에 매개변수에 대한 매핑이 없으면 null을 반환합니다.

통사론:

 JsonString geJsonString(String name) 

그것은 던진다 클래스캐스트예외 지정된 이름 매핑을 JsonString에 할당할 수 없습니다.

getString() 메서드

을 얻는 데 사용됩니다. getJsonString(이름).getString() . 이 메서드는 관련 값이 String으로 반환될 String 유형의 인수 이름을 구문 분석합니다. 구문 분석된 매개변수에 대한 연관된 ​​매핑의 문자열 값을 반환합니다.

통사론:

 String geString(String name) 

그것은 던진다 NullPointer예외 지정된 이름에 매핑이 없는 경우. 그것도 던진다 클래스캐스트예외 지정된 이름 매핑을 JsonString에 할당할 수 없습니다.

위의 방법을 사용하여 프로그램을 만들고 JSON 개체에서 값을 가져옵니다.

참고: 다음 코드를 사용하기 전에 json-20200518.jar을 다운로드하세요. 파일을 만들어 프로젝트에 추가하세요.

Java 예제에서 JSON 객체로부터 값을 얻는 방법

GetValueFromJsonExample.java

 import org.json.*; public class GetValueFromJsonExample { public static void main(String[] args) throws JSONException { //constructor of the JSONObject class JSONObject obj = new JSONObject( '{' + 'Employee ID: 092789,' + 'Employee Name: Helen Mirren,' + 'Age: 27, ' + 'Designation: Assistant Manager,' + 'City: Florida,' + 'Salary: 67000.00, ' + 'Experience: 26 ' + '}' ); //getting values form the JSONObject System.out.println('Employee ID: '+obj.getInt('Employee ID')); System.out.println('Employee Name: '+obj.getString('Employee Name')); System.out.println('Age: '+obj.getInt('Age')); System.out.println('Designation: '+obj.getString('Designation')); System.out.println('City: '+obj.getString('City')); System.out.println('Salary: '+obj.getDouble('Salary')); System.out.println('Experience: '+obj.getInt('Experience') +' Months'); } } 

산출:

Java 예제에서 JSON 객체로부터 값을 얻는 방법

다른 JSON 라이브러리를 사용하고 JSONObject에서 값을 가져와 보겠습니다. 다음 프로그램에서는 JSON-간단 도서관. 다음 프로그램을 사용하기 전에 json-simple-1.1.1.jar 파일을 다운로드하여 프로젝트에 추가하세요.

dfs 알고리즘
Java 예제에서 JSON 객체로부터 값을 얻는 방법

GetValueFromJsonObjectExample.java

 import org.json.simple.JSONObject; import org.json.simple.JSONValue; public class GetValueFromJsonObjectExample { public static void main(String[] args) { //defining a JSON string String s='{'name':'William Hill','Salary':67000.0,'age':42}'; Object obj=JSONValue.parse(s); //creating an object of JSONObject class and casting the object into JSONObject type JSONObject jsonObject = (JSONObject) obj; //getting values form the JSONObject and casting that values into corresponding types String name = (String) jsonObject.get('name'); double salary = (Double) jsonObject.get('Salary'); long age = (Long) jsonObject.get('age'); //printing the values System.out.println('Name: '+name); System.out.println('Salary: '+salary); System.out.println('Age: '+age); } } 

산출:

Java 예제에서 JSON 객체로부터 값을 얻는 방법