JSONObject.put 覆蓋原有數(shù)據(jù),解決辦法

生產(chǎn)中遇到jsonobject的添加,但是會遇到許多的相同的key值,如果put的話就會覆蓋之前的value。‘

在許多的解決方法中大多數(shù)人是在for循環(huán)里寫了JSONObject newjson = new JSONObject();

這么一句,但是我要這種形式的怎么辦???{"王煥":"經(jīng)理,執(zhí)行董事"}是不是不能這么寫了,如果這樣寫得到的是什么呢?控制臺輸出如下:

? {"王煥":"經(jīng)理"} {"王煥":"執(zhí)行董事"}

經(jīng)過三個小時的研究我發(fā)現(xiàn),如果你new一個和之前相同的key的話他會返回之前的value,如果之前沒有的話就會返回空。如下圖:




不知道你們看懂沒?王維是之前出現(xiàn)過的key值,再一次put就會返回之前的value值,韓愈之前沒有,所以返回null。這是發(fā)現(xiàn)很有幫助,思維如下

借用返回值是否為空做一個判斷,如果返回值為空,那就不管他,添加就好,如果返回值不是空說明這個key之前已經(jīng)添加過,再次添加則會覆蓋掉返回值,那怎么辦,不為空put的時候把返回值拼接。如圖:



這樣就達到目的了。生產(chǎn)的源碼就不粘了,道理是一樣的不過生產(chǎn)中還有其他的業(yè)務邏輯。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,868評論 18 139
  • 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對于byte類型而言...
    龍貓小爺閱讀 4,288評論 0 16
  • Redis 數(shù)據(jù)結(jié)構(gòu)簡介 Redis 可以存儲鍵與5種不同數(shù)據(jù)結(jié)構(gòu)類型之間的映射,這5種數(shù)據(jù)結(jié)構(gòu)類型分別為Stri...
    DreamerRzc閱讀 237,063評論 26 273
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,754評論 18 399
  • 最近開始學習了Ruby,發(fā)現(xiàn)Ruby真是簡約到可愛,清晰明了的語法格式,讓人心花怒放。所以,迫不及待的想開始用Ru...
    TW馮雯閱讀 232評論 2 2