ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JSONObject、JSONArray、Map、JavaBean相互转换

2020-12-14 11:33:53  阅读:1157  来源: 互联网

标签:Map JSONArray JSONObject System value json println


1. JSONObject,JSON对象中有一个键对应一个值,大括号形式包含,{key:value}

2. json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的

  Json对象中添加的是键值对,JSONArray中添加的是Json对象

JSON对象创建方法:

//----------------JsonObject创建的方法-----------------------------------------------------------
        //创建JsonObject第一种方法
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("UserName", "kobi");
        jsonObject.put("age", "34");
        jsonObject.put("workIn", "ALI");//此处的"ALI"也可以替换为一个json{"sex":"男","station":"徐州","hoobey":"coding"}
        // System.out.println("jsonObject1:" + jsonObject);//jsonObject1:{"UserName":"kobi","workIn":"ALI","age":"34"}
        Iterator iterator = jsonObject.keys();//用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中
        while (iterator.hasNext()) {
            String key = (String) iterator.next();
            String value = jsonObject.getString(key);
            System.out.println(value);//输出值   kobi ALI 34
        }
//创建JsonObject第二种方法
        HashMap<String, String> hashMap = new HashMap<String, String>();
        hashMap.put("UserName", "ZHULI");
        hashMap.put("age", "30");
        hashMap.put("workIn", "ALI");
        // System.out.println("jsonObject2:" + JSONObject.fromObject(hashMap));//jsonObject2:{"UserName":"ZHULI","workIn":"ALI","age":"30"}
  //----------------JSONArray创建的方法-----------------------------------------------------------
        //一:遍历JsonArray
        String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]";  // 一个未转化的字符串
        JSONArray json = JSONArray.fromObject(str); // 首先把字符串转成 JSONArray  对象
        if (json.length() > 0) {
            for (int i = 0; i < json.length(); i++) {
                JSONObject job = json.getJSONObject(i);  // 遍历 jsonarray 数组,把每一个对象转成 json 对象
                // System.out.println(job);//{"name":"a","value":"aa"}  {"name":"b","value":"bb"} {"name":"c","value":"cc"}.....
                //  System.out.println(job.get("name"));  // a b c d

            }
        }
 //创建JsonArray方法2
        ArrayList<String> arrayList = new ArrayList<String>();
        arrayList.add("kobi");
        arrayList.add("34");
        arrayList.add("ALI");
        //System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));//jsonArray2:["kobi","34","ALI"]
 @Test
    public void test0105() {
        /*
取出name4值过程步骤:  1.将以上字符串转成JSONArray对象  2.取出对象的第一项,JSONObject 3.取出name1的值JSONObject
                      4.然后取出name2的值JSONObject对象  5.取出name4的值value2
* */
        /*  记住":"前是键,符号后是值  大括号成对找  一层层拨开就清楚了*/
        String str = "[{name1:{name2:{name3:'value1',name4:'value2'}}},{}]";

        JSONArray jsonArray = JSONArray.fromObject(str);//  将结果转成JSONArray对象的形式

        JSONObject getJsonObj = jsonArray.getJSONObject(0);//获取json数组中的第一项

        JSONObject json = getJsonObj.getJSONObject("name1").getJSONObject("name2");//{"name4":"value2","name3":"value1"}
        Object value = json.get("name4");
        System.out.println(value);//value2
    }
  @Test
    public void test01051() {
        JSONObject json = new JSONObject();
        JSONArray jsonArray = new JSONArray();

        json.put("key", "value");//JSONObject对象中添加键值对
        jsonArray.put(json);//将JSONObject对象添加到Json数组中


        System.out.println(json);
        System.out.println(jsonArray);
    }

 

标签:Map,JSONArray,JSONObject,System,value,json,println
来源: https://www.cnblogs.com/yeyuting/p/14132316.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有