如何使用 Java 中的 JsonPointer 介面獲取鍵值?
JSONPointer 是一個標準,它定義了用於訪問 JSON 文件中特定鍵值的字串語法。透過呼叫Json 類上的靜態工廠方法createPointer()可以建立一個JSONPointer 例項。在JSONPointer 中,每個字串語法都以“/”開頭。我們可以透過呼叫JsonPointer 物件上的getValue()方法來獲取鍵的值。
JSON 檔案
示例
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"}]}
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP