日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

使用阿里巴巴json映射_使用JSON模式验证来映射稀疏JSON

發(fā)布時(shí)間:2023/12/3 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用阿里巴巴json映射_使用JSON模式验证来映射稀疏JSON 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用阿里巴巴json映射

在本文中,我們將探討在創(chuàng)建和共享API時(shí)出現(xiàn)的問(wèn)題。 特別是,需要:

  • 表達(dá)數(shù)據(jù)的結(jié)構(gòu)
  • 提供對(duì)該數(shù)據(jù)的驗(yàn)證
  • 允許將來(lái)改變主意
  • 通過(guò)您擁有的部分?jǐn)?shù)據(jù)與客戶進(jìn)行溝通
  • 缺少數(shù)據(jù)時(shí)填寫(xiě)空白

人們通常使用版本編號(hào)的API解決此問(wèn)題。 API的每個(gè)版本都綁定到一個(gè)架構(gòu)。 模式通常以JSON模式格式表示。

上述支持庫(kù)不支持在同一模式的多個(gè)版本之間進(jìn)行轉(zhuǎn)換。

Apache Avro可以很好地支持模式演化。 Avro可以使用類似于JSON Schema的方式定義其架構(gòu),并且能夠讀取和寫(xiě)入JSON,但是如果您通過(guò)JSON中的聯(lián)合類型使用可空字段,則需要JSON2AvroConverter來(lái)讀取外觀正常的JSON。

但是,Avro并不擅長(zhǎng)讀取缺少字段的JSON。

JSON Schema的草案7支持默認(rèn)值, everit json-schema庫(kù)可以在驗(yàn)證時(shí)將默認(rèn)值替換為對(duì)象。

放在一起

比方說(shuō):

  • 我有一個(gè)模式,可以為任何非強(qiáng)制性內(nèi)容提供默認(rèn)值
  • 我有一個(gè)規(guī)則,那就是架構(gòu)的未來(lái)版本都不能添加強(qiáng)制性的內(nèi)容
  • 我有具有給定字段的數(shù)據(jù),無(wú)論特定版本的架構(gòu)是否需要它們
  • 我希望返回對(duì)特定模式版本有效的數(shù)據(jù)

我將需要:

  • 篩選出源中而不是架構(gòu)中的字段
  • 當(dāng)字段在模式中但不在數(shù)據(jù)中時(shí),添加默認(rèn)值

以上所有內(nèi)容均在GitHub的POC中進(jìn)行了探討 。

POC

POC使用everit庫(kù)填充默認(rèn)值,并演示如何在模式中表達(dá)默認(rèn)值。

在Java代碼中表達(dá)JSON有點(diǎn)煩人,因此最好的辦法是提取模式的測(cè)試并在JSONEditorOnline之類的工具中進(jìn)行探索 。 (希望您的IDE在復(fù)制和粘貼時(shí)會(huì)取消轉(zhuǎn)義"字符-IntelliJ會(huì)。)

POC具有基本的實(shí)現(xiàn),可用于對(duì)模式和輸入JSON進(jìn)行迭代,從而刪除模式中未知的JSON字段。 這是很基本的原因,因?yàn)樗鼰o(wú)法處理JSON模式中可能出現(xiàn)的邊緣情況,并且不能容忍輸入JSON中的數(shù)據(jù)類型與模式所描述的類型不同。

也就是說(shuō),它已經(jīng)通過(guò)了一些有用的測(cè)試,因此絕對(duì)是將來(lái)進(jìn)行調(diào)查的起點(diǎn)。

結(jié)論

模式演化可以非常精確地完成。 Apache Avro允許對(duì)同一模式的多個(gè)版本進(jìn)行建模,加載一個(gè)版本并轉(zhuǎn)換為另一個(gè)版本,但這不是JSON的好朋友,并且要求源JSON必須采用正確的格式以用于其中一個(gè)模式。

JSON模式是REST API定義的基本構(gòu)建塊。 如果在正確的庫(kù)中使用它,可以在驗(yàn)證期間使用它提供默認(rèn)值的能力之上,將其強(qiáng)制用作過(guò)濾器。

我希望這里的POC代碼對(duì)某人有用。

翻譯自: https://www.javacodegeeks.com/2020/02/using-json-schema-validation-to-map-sparse-json.html

使用阿里巴巴json映射

總結(jié)

以上是生活随笔為你收集整理的使用阿里巴巴json映射_使用JSON模式验证来映射稀疏JSON的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色激情在线 | 男人和女人日b视频 | 欧美日本国产在线 | 久久国内 | 成人免费av片 | 激烈娇喘叫1v1高h糙汉 | 亚洲欧洲天堂 | 兔费看少妇性l交大片免费 日韩高清不卡 | 男人天堂久久 | 人妻体内射精一区二区 | 天天曰天天爽 | 日韩视频在线观看二区 | 老牛嫩草二区三区观影体验 | 黄色1级视频 | 免费av毛片 | 欧美黑人猛交 | 不卡视频一区 | 一级全黄男女免费大片 | 黄色理论片 | 麻豆成人精品 | 女人喂男人奶水做爰视频 | 337p粉嫩日本欧洲亚洲大胆 | 久久久精品综合 | 日本三级视频 | 九久久 | 中国黄色a级片 | 性av网站 | 三a大片 | 少妇日b| 黄色中文字幕在线观看 | 欧美视频一二区 | 99精品国产99久久久久久97 | 亚洲精品在线视频免费观看 | 亚洲逼 | 538国产精品视频一区二区 | 极品国产91在线网站 | 中文字幕+乱码+中文字幕明步 | 久久99伊人 | 免费观看国产精品视频 | 色小说综合 | 无码不卡av东京热毛片 | 97人人射| 亚洲天堂少妇 | 中日精品一色哟哟 | 成人免费播放视频 | 一区二区美女视频 | 一区二区三区三区在线 | hd性videos意大利精品 | 中文字幕日韩一区二区 | 国产麻豆精品在线观看 | 久久va| 一区二区三区美女视频 | 久久视频免费观看 | 亚洲国产视频在线观看 | 欧美久操| h小视频在线观看 | 亚欧在线免费观看 | 美女色诱男人激情视频 | 99成人免费视频 | 污污网站免费在线观看 | jizzjizz视频| 亚洲视频 欧美视频 | 青青视频一区二区 | 久久一区二区视频 | 美女被变态侵犯 | 嫩草视频国产 | www.夜夜骑| 亚洲精品天堂成人片av在线播放 | 粉嫩欧美一区二区三区 | 成人听书哪个软件好 | 日本在线免费视频 | 亚洲精品中文字幕 | 中文字幕h | 高潮疯狂过瘾粗话对白 | 亚洲va在线观看 | 男人的天堂avav | 亚洲AV无码久久精品色三人行 | 欧美黑丝少妇 | 黑人玩弄人妻一区二区三区 | 男女激情久久 | 99热这里只有精品9 日韩综合在线 | 寂寞d奶大胸少妇 | 久久综合一区二区 | 精品无码三级在线观看视频 | 亚洲精品视频91 | 中文字幕手机在线视频 | 国产一区一一区高清不卡 | 在线观看日本一区二区 | 亚洲国产高清国产精品 | 欧美寡妇性猛交ⅹxxx | 国产91区| 小妹色播| 海角官网| 一区二区国产精品 | 国产一区不卡在线 | 欧美三级少妇高潮 | 熟妇五十路六十路息与子 | 色欧美日韩 | 国产jk精品白丝av在线观看 |