本篇內(nèi)容主要講解“JSON數(shù)據(jù)重復(fù)出現(xiàn)$ref怎么辦”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“JSON數(shù)據(jù)重復(fù)出現(xiàn)$ref怎么辦”吧!
成都創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對(duì)營(yíng)銷、技術(shù)、服務(wù)都有自己獨(dú)特見(jiàn)解,公司采取“創(chuàng)意+綜合+營(yíng)銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來(lái)將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿足企業(yè)一站式營(yíng)銷型網(wǎng)站建設(shè)需求,讓再小的品牌網(wǎng)站制作也能產(chǎn)生價(jià)值!
JSONArray 類型 如果我們往里面add數(shù)據(jù)的時(shí)候 如果數(shù)據(jù)相同,那么就會(huì)被替換成 $ref: 也就是被簡(jiǎn)化了 因?yàn)閿?shù)據(jù)一樣所直接 指向上一條數(shù)據(jù)
循環(huán)引用:當(dāng)一個(gè)對(duì)象包含另一個(gè)對(duì)象時(shí),fastjson就會(huì)把該對(duì)象解析成引用。引用是通過(guò)$ref標(biāo)示的,下面介紹一些引用的描述
"$ref":".." 上一級(jí)
"$ref":"@" 當(dāng)前對(duì)象,也就是自引用
"$ref":"$" 根對(duì)象
"$ref":"$.children.0" 基于路徑的引用,相當(dāng)于 root.getChildren().get(0)
例如下面這3個(gè)銀行卡都是建行的,那么就會(huì)出現(xiàn)這個(gè)問(wèn)題,因?yàn)閎ank信息完全一致
因?yàn)槲覀円谇岸苏故緮?shù)據(jù) 所以這樣肯定不對(duì) ,那么如果解決呢
網(wǎng)上都說(shuō)是加上SerializerFeature.DisableCircularReferenceDetect
1 首先把JSONArray 轉(zhuǎn)成string 這個(gè)時(shí)候加上SerializerFeature.DisableCircularReferenceDetect
JSONArray.toJSONString(userBankJsonArray, SerializerFeature.DisableCircularReferenceDetect)
2 因?yàn)橹笆荍SON格式的 所以我們還要把string轉(zhuǎn)成JSON
JSONObject.parse(JSONArray.toJSONString(userBankJsonArray, SerializerFeature.DisableCircularReferenceDetect))
然后在傳到前端 前端解析就沒(méi)問(wèn)題了
到此,相信大家對(duì)“JSON數(shù)據(jù)重復(fù)出現(xiàn)$ref怎么辦”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!