Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JsonPointer 인터페이스를 사용하여 키 값을 얻는 방법은 무엇입니까?


JSONPointer 문자열 구문을 정의하는 표준입니다. JSON 문서의 특정 키 값에 액세스하는 데 사용할 수 있습니다. JSONPointer 인스턴스 정적 팩토리 메소드 createPointer()를 호출하여 생성할 수 있습니다. Json 수업. JSONPointer 에서 모든 문자열 구문에는 "/" 접두사가 붙습니다. . getValue()를 호출하여 키 값을 얻을 수 있습니다. JsonPointer 의 메소드 개체.

JSON 파일

Java에서 JsonPointer 인터페이스를 사용하여 키 값을 얻는 방법은 무엇입니까?

예시

import javax.json.*;
import java.io.*;
public class JsonPointerTest {
   public static void main(String[] args) throws Exception {
      JsonReader jsonReader = Json.createReader(new FileReader("simple.json"));
      JsonStructure jsonStructure = jsonReader.read();
      JsonPointer jsonPointer1 = Json.createPointer("/firstName");
      JsonString jsonString = (JsonString)jsonPointer1.getValue(jsonStructure);
      System.out.println("First Name: " + jsonString.getString()); // prints first name
      JsonPointer jsonPointer2 = Json.createPointer("/phoneNumbers");
      JsonArray array = (JsonArray)jsonPointer2.getValue(jsonStructure);
      System.out.println("Phone Numbers:");
      for(JsonValue value : array) {
         JsonObject objValue = (JsonObject)value;
         System.out.println(objValue.toString()); // prints phone numbers
      }
      JsonPointer jsonPointer3 = Json.createPointer("/phoneNumbers/1");
      JsonObject jsonObject1 = (JsonObject)jsonPointer3.getValue(jsonStructure);
      System.out.println("Home: " + jsonObject1.toString()); // prints home phone number
      JsonPointer jsonPointer4 = Json.createPointer("");
      JsonObject jsonObject2 = (JsonObject)jsonPointer4.getValue(jsonStructure);
      System.out.println("JSON:\n" + jsonObject2.toString()); // prints JSON structure
      jsonReader.close();
   }
}

출력

First Name: Raja
Phone Numbers:
{"Mobile":"9959984000"}
{"Home":"0403758000"}
Home: {"Home":"0403758000"}
JSON:
{"firstName":"Raja","lastName":"Ramesh","age":30,"streetAddress":"Madhapur","city":"Hyderabad","state":"Telangana","phoneNumbers":[{"Mobile":"9959984000"},{"Home":"0403758000"}]}