javascript
JSON指针:JSON-P 1.1概述系列
Java EE 8包括對JSON處理API的更新,并使其與JSON的最新IEFT標準保持同步。 他們是:
- JSON指針 (RFC 6901)
- JSON修補程序(RFC 6902)
- JSON合并補丁(RFC 7396)
我將在這個迷你系列中涵蓋這些主題。
入門
要開始使用JSON-P,您將需要Maven中央存儲庫中的以下依賴項。
<dependency><groupId>javax.json</groupId><artifactId>javax.json-api</artifactId><version>1.1</version> </dependency><dependency><groupId>org.glassfish</groupId><artifactId>javax.json</artifactId><version>1.1</version> </dependency>JSON指針
JSON指針定義了一個字符串表達式,該表達式引用JSON文檔的層次結構內的元素。 使用JSON指針表達式,您可以通過檢索,添加,刪除和替換表達式引用的元素或值來訪問和操作JSON文檔。
入口API是javax.json.JsonPointer接口。 通過在javax.json.Json類上調用靜態工廠方法createPointer(String expression)并向其傳遞指針表達式來創建實例。
檢索值
如果給定下面的JSON文檔,并且您想檢索title元素的值,則創建JSON指針表達式/ title 。
{ "title": "Java EE: Only What's New", "author": "Alex Theedom", "chapters": ["Chapter 1: Java EE 8 What’s New Overview","Chapter 2: Java API for JSON Binding 1.0 (JSR 367)","Chapter 3: Java EE Security API 1.0 (JSR 375)" ], "released": true, "pages": 300, "sourceCode": {"repositoryName": "Java-EE-8-Only-Whats-New","url": "github.com/readlearncode/" }, "otherBooks": [{"title": "Professional Java EE Design Patterns","length": 350} ] }JsonObject jsonObject = ... create JSONObject from JSON document ...;下面的代碼段創建一個JsonPointer并引用title元素。 然后,它將調用getValue()方法,該方法將傳遞給JsonObject進行查詢。
JsonValue jsonValue = Json.createPointer("/title").getValue(jsonObject);增值
要向JSON文檔添加(或插入)值,請遵循與檢索相同的邏輯,即使用JSON指針表達式來標識文檔內的插入點。 以下代碼段將新的“類別”:“編程” JSON對象添加到文檔的根目錄。
JsonObject jsonObject = Json.createPointer("/category").add(jsonObject, Json.createValue("Programming"));返回的JsonObject是整個新的修改對象。
刪除值
刪除過程要求刪除要表示為JSON指針表達式的值的位置。 下面的代碼片段刪除了title元素,并將修改后的JSON文檔作為JsonStructure實例返回。
JsonStructure jsonStructure = Json.createPointer("/title").remove(jsonObject);替換值
要替換一個值,要替換的元素的JSON指針表達式將替換的元素傳遞給replace()方法。 下面的代碼片段替換了title元素的值并返回修改后的JSON文檔。
JsonStructure jsonStructure = Json.createPointer("/title").replace(jsonObject, Json.createValue("Java EE 8"));測試一個值
可以使用containsValue()方法測試某個位置值的存在。 下面的代碼段進行測試,以查看在JSON指針表達式/ doesNotExist表示的位置是否有一個值。
Boolean containsValue = Json.createPointer("/doesNotExist").containsValue(jsonObject);結論
好了,這就是本迷你系列中有關JSON處理的新功能的第一篇文章。 目前為止就這樣了。
翻譯自: https://www.javacodegeeks.com/2018/04/get-to-know-json-pointer-json-p-1-1-overview-series.html
總結
以上是生活随笔為你收集整理的JSON指针:JSON-P 1.1概述系列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何调整电脑虚拟内存(如何调整电脑虚拟内
- 下一篇: 华为g520移动版(华为g520手机参数