成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java - net.sf.json 之 put、accumulate、element 實(shí)踐與疑問

Null / 901人閱讀

摘要:需要的注意版本,個(gè)別版本之間會(huì)沖突。如果當(dāng)前為,那么如果這個(gè)存在的話,這個(gè)就會(huì)移除掉。如果這個(gè)之前有,那么此方法會(huì)調(diào)用方法。親測,卻不盡然,結(jié)果并不是如上的預(yù)期的效果。

net.sf.json
net.sf.json 需要的 jar


注意版本,個(gè)別版本之間會(huì)沖突。
?

Java 代碼:
package com.code.ggsddu;
 
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class TestJSON {
    public static void main(String[] args) {
        /**
         * public Object put(Object key, Object value)
         * 將value映射到key下
         * 如果此JSONObject對象之前存在一個(gè)value在這個(gè)key下,那么當(dāng)前的value會(huì)替換掉之前的value
         */
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("one", "first");
        // jsonObject: {"one":"first"}
        System.out.println("jsonObject: " + jsonObject.toString());
 
        jsonObject.put("two", "second");
        // jsonObject: {"one":"first","two":"second"}
        System.out.println("jsonObject: " + jsonObject.toString());
 
        jsonObject.put("two", "cover");
        // jsonObject: {"one":"first","two":"cover"}
        System.out.println("jsonObject: " + jsonObject.toString());
 
        jsonObject.put("one", null);// value為null的話,直接移除key
        // jsonObject: {"two":"cover"}
        System.out.println("jsonObject: " + jsonObject.toString());
 
        /**
         * public JSONObject accumulate(String key, Object value)
         * 累積value到這個(gè)key下
         * 1.如果當(dāng)前已經(jīng)存在一個(gè)value在這個(gè)key下,那么會(huì)有一個(gè)JSONArray將存儲(chǔ)在這個(gè)key下來保存所有累積的value
         * 2.如果已經(jīng)存在一個(gè)JSONArray,那么當(dāng)前的value就會(huì)添加到這個(gè)JSONArray中
         */
        JSONObject jsonObj = new JSONObject();
        jsonObj.accumulate("Servers", null);// 允許value為null
        jsonObj.accumulate("Servers", "Tomcat");
        jsonObj.put("Codes", "Java");
        jsonObj.accumulate("Codes", "JavaScript");
        // jsonObj: {"Servers":[null,"Tomcat"],"Codes":["Java","JavaScript"]}
        System.out.println("jsonObj: " + jsonObj.toString());
 
        /**
         * public JSONObject element(String key, Object value)
         */
        JSONObject object = new JSONObject();
        object.element("price", "500");
        object.element("price", "1000");
        // object: {"price":"1000"} 疑問: 這和put有何區(qū)別??? 說好的會(huì)調(diào)用accumulate呢???
        System.out.println("object: " + object.toString());
    }
}

?

控制臺(tái)打印結(jié)果:
jsonObject: {"one":"first"}
jsonObject: {"one":"first","two":"second"}
jsonObject: {"one":"first","two":"cover"}
jsonObject: {"two":"cover"}
jsonObj: {"Servers":[null,"Tomcat"],"Codes":["Java","JavaScript"]}
object: {"price":"1000"}

?

疑問:
net.sf.json.element :
Put a key/value pair in the JSONObject. If the value is null, then the key will be removed from the JSONObject if it is present. If there is a previous value assigned to the key, it will call accumulate.
?
大意為:將鍵/值對放到這個(gè) JSONObject 對象里面。如果當(dāng)前 value 為 null,那么如果這個(gè) key 存在的話,這個(gè) key 就會(huì)移除掉。如果這個(gè) key 之前有 value ,那么此方法會(huì)調(diào)用 accumulate 方法。

親測element ,卻不盡然,結(jié)果并不是如上的預(yù)期的效果。為什么呢?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68168.html

相關(guān)文章

  • 千鋒重慶Java學(xué)習(xí)分享Java工具類整理

    摘要:字符數(shù)組轉(zhuǎn)字符數(shù)組工具字節(jié)數(shù)組轉(zhuǎn)成進(jìn)制表示格式的字符串需要轉(zhuǎn)換的字節(jié)數(shù)組進(jìn)制表示格式的字符串前面不零格式數(shù)據(jù)互轉(zhuǎn)工具將字符串轉(zhuǎn)換成里面可能是多個(gè)對象的情 字符數(shù)組轉(zhuǎn)Stringpackage com.sunsheen.hcc.fabric.utils;/** * 字符數(shù)組工具 * @author WangSong * */...

    Blackjun 評論0 收藏0
  • kotlin學(xué)習(xí)筆記-異常好玩的list集合總結(jié)

    摘要:可能是最流行的集合類型。它是一個(gè)范性有序的集合。一個(gè)無序并不支持重復(fù)的集合。接口繼承接口,集合中可以存放重復(fù)對象。集合類提供了,等高階函數(shù)去處理。我們聲明一個(gè)集合或者數(shù)組,可以轉(zhuǎn)換成相應(yīng)類型的集合。調(diào)用轉(zhuǎn)換為可變集合。 不積跬步無以至千里,不積小流無以成江海 先看看Kotlin中for循環(huán)的遍歷 fun testList(){ var StringVal = 12_...

    RebeccaZhong 評論0 收藏0
  • java網(wǎng)格輸出的類--練習(xí)stream

    摘要:在做測試的時(shí)候,經(jīng)常需要把一些信息輸出到控制臺(tái),但是格式上比較亂,想弄成一個(gè)類似客戶端的那個(gè)輸出格式,在參考了一些資料后自己寫了一個(gè)簡單的控制臺(tái)網(wǎng)格輸出的類,分享代碼供大家參考。使用方法暫時(shí)支持了和兩種類型的數(shù)據(jù)展示,并沒有提供功能。 在做測試的時(shí)候,經(jīng)常需要把一些信息輸出到控制臺(tái),但是格式上比較亂,想弄成一個(gè)類似SQL客戶端的那個(gè)輸出格式,在參考了一些資料后自己寫了一個(gè)簡單的控制臺(tái)網(wǎng)...

    edgardeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<