JSONObject,JSONArray

本文介绍了如何在Java中创建和操作JSONObject与JSONArray,包括将JSONArray转换为Map并处理键重复问题,使用IdentityHashMap来存储JSONObject中的键值对。
摘要由CSDN通过智能技术生成

JSONObject,JSONArray

//创建JSONArray对象
        JSONObject Json1,Json2;
        JSONArray JsonArray = new JSONArray();

        Json1=new JSONObject();
        Json2=new JSONObject();

        Json1.put("key1", "value7");//JSONObject1对象中添加键值对
        Json1.put("key2", "value5");//JSONObject1对象中添加键值对

        Json2.put("key1", "value3");//JSONObject2对象中添加键值对
        Json2.put("key2", "value4");//JSONObject2对象中添加键值对

        JsonArray.add(Json1);//将JSONObject1对象添加到Json数组中
        JsonArray.add(Json2);//将JSONObject2对象添加到Json数组中
        
        System.out.println("JsonArray:"+JsonArray);

jsonarray转map:

		if (JsonArray.size() > 0) {
            for (int i = 0; i < JsonArray.size(); i++) {
                JSONObject job = JsonArray.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
                //System.out.println(job);                //{"key1":"value1"}
                //System.out.println(job.get("key1"));

                fromson0635.put(new String("key1"),job.get("key1"));
                fromson0635.put(new String("key2"),job.get("key2"));
                System.out.println("当前josnobject:"+job);
            }
        }

        Set<Map.Entry<String, Object>> allSet = allSet = fromson0635.entrySet();
        Iterator<Map.Entry<String, Object>> it = allSet.iterator();

        System.out.println("通过Map.entrySet使用iterator遍历key和value:");
        while (it.hasNext()) {
            Map.Entry<String, Object> entry = it.next();
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
        }

        System.out.println(":"+fromson0635.toString());
        
  • 在正常的map操作中,key是不能重复的,如果希望key的内容可以重复,需要是用
    IdentityHashMap
  • 因为两个对象的内容相等,但是因为使用了new关键字,所以内存地址是不相等的,所有可以加入到IdentityHashMap,key就可以重复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑瓜嗡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值