javascript
JSON处理1.1:100DaysOfJavaEE8
JSON指針挑戰
給定下面代碼片段中的JSON文檔,使用JSON-P 1.1中的JSON指針功能會得到什么結果?
JSON對象的新形狀如下:
{"name": "Duke","likes": ["Java EE 8","Java","Ice Cream"] }什么是JSON指針?
JSON Pointer是JSON Processing 1.1 API中的一項新功能,并將其與最新的IEFT標準JSON Pointer結合 在一起 。 此更新的API構成Java EE 8版本的一部分。
那么,什么是JSON指針?JSON指針定義了一個字符串表達式,該字符串表達式標識JSON文檔中的特定值。 它類似于XPointer ,它用于標識XML文檔中的片段。
讓我們看一個例子。 給定以下JSON文檔,將通過JSON指針表達式/ likes / 0來引用likes數組中的第一個元素。
{"name": "Duke","likes": ["Java","Coffee"] }這是指元素值: Java 。
如何使用JSON指針?
入口API是JsonPointer接口。 通過在Json類上調用靜態工廠方法createPointer()創建一個實例。 下面的代碼片段創建了一個JsonPointer并引用了likes數組中的第二個元素:
JsonPointer pointer = Json.createPointer("/likes/0");JsonPointer API還可以通過添加,替換和刪除屬性來變異JSON文檔。 下面的代碼段將值“ Java EE 8”添加到喜歡列表:
pointer.add(jsonObject, Json.createValue("Java EE 8"));并且以下代碼段中的代碼替換了第三個索引位置的值:
pointer = Json.createPointer("/likes/2"); JsonObject newJsonObject = pointer.replace(jsonObject, Json.createValue("Ice Cream"));將所有內容放在一起,您將獲得代碼,這些代碼添加了likes數組的元素,并替換了元素。 完整的代碼片段如下所示:
JsonObject jsonObject = Json.createReader(new StringReader(target)).readObject(); JsonPointer pointer = Json.createPointer("/likes/0"); jsonObject = pointer.add(jsonObject, Json.createValue("Java EE 8")); pointer = Json.createPointer("/likes/2"); JsonObject newJsonObject = pointer.replace(jsonObject, Json.createValue("Ice Cream"));此代碼的輸出是:
{"name": "Duke","likes": ["Java EE 8","Java","Ice Cream"] }進一步閱讀
有關如何使用JSON處理的新功能的更多信息,請在IBM developerWorks上查看我的文章 Java EE 8的新增功能,并且您還應該閱讀JSON處理1.1的Java API規范( JSR 374 )。
GitHub儲存庫
可以在我的GitHub存儲庫中找到此代碼以及所有其他#100DaysOfJavaEE8的代碼。
原始推文
新的#100DaysOfJavaEE8挑戰! 給定JSON,應用JSON-P 1.1中的Pointer功能會得到什么結果? #JavaEE8 #Java @Java_EE pic.twitter.com/2crmLu5wmK
-Alex Theedom(@alextheedom) 2017年10月8日
翻譯自: https://www.javacodegeeks.com/2017/10/json-processing-1-1-100daysofjavaee8.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的JSON处理1.1:100DaysOfJavaEE8的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: play!框架_在Play上使用twit
- 下一篇: 宝塔 ddos(ddos宝塔)