生產(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è)務邏輯。