• Java


    文章转自
    https://www.cnblogs.com/ikoo4396/p/8214110.html

    个人小结:

    1,put 如果put的值为空,则删除这个属性,已有相同可以则替换值

    2,accumulate追加值,最终值会变成数组的形式,accumulate可以将值变为null,而不删除该key

    3,element跟put差不多,没看出区别

    package com.xxx;
    
    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对象之前存在一个value在这个key下,那么当前的value会替换掉之前的value
             */
            System.out.println("---------------------------------测试put方法------------------------------ " );
            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());
     
            System.out.println("---------------------------------测试accumulate方法------------------------------ " );
            /**
             * public JSONObject accumulate(String key, Object value)
             * 累积value到这个key下
             * 1.如果当前已经存在一个value在这个key下,那么会有一个JSONArray将存储在这个key下来保存所有累积的value
             * 2.如果已经存在一个JSONArray,那么当前的value就会添加到这个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());
     
            System.out.println("---------------------------------测试element方法------------------------------ " );
            /**
             * public JSONObject element(String key, Object value)
             */
            JSONObject object = new JSONObject();
            object.element("price", "500");
            object.element("price", "1000");
            // object: {"price":"1000"} 疑问: 这和put有何区别??? 说好的会调用accumulate呢???
            System.out.println("object: " + object.toString());
        }
    }
  • 相关阅读:
    [NOIP2018-普及组] 对称二叉树
    UVA1637 【纸牌游戏 Double Patience】
    [SHOI2002]滑雪-题解
    题解 CF1437E 【Make It Increasing】
    题解 P4331 【[BalticOI 2004]Sequence 数字序列】
    NOIp 2020游记
    题解 P3825 【[NOI2017]游戏】
    题解 P6453 【[LNOI2014]LCA】
    题解 P6453 【[COCI2008-2009#4] F】
    题解 P5779 【[CTSC2001]聪明的学生】
  • 原文地址:https://www.cnblogs.com/rdchen/p/12802983.html
Copyright © 2020-2023  润新知