package JSONtest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set; import net.sf.json.JSONObject; public class Jsontest1 {
public static void main(String args[]){
//生成一个JSONObject对象
String data = "{}";
JSONObject jsonObj = JSONObject.fromObject(data); //1.put 基本类型值
int i=0;
for(i=0; i<5; i++){
jsonObj.put("id"+i, i);
}
System.out.println(jsonObj.toString()); //2.put 一个JSONObject对象
JSONObject obj1 = JSONObject.fromObject(data);
for(i=0; i<5; i++){
obj1.put("child"+i, i);
}
jsonObj.put("JSONObject", obj1);
System.out.println(jsonObj.toString()); //3.put 数组
String[] strArr = new String[]{"加","数","组"};
jsonObj.put("arr", strArr);
System.out.println(jsonObj.toString()); // 4.put List
List<String> list = new ArrayList<String>();
list.add("加");
list.add("列");
list.add("表");
jsonObj.put("list", list);
System.out.println(jsonObj.toString()); //5.put Set
Set<String> set = new HashSet<String>();
set.add("加");
set.add("集");
set.add("合");
jsonObj.put("set", set);
System.out.println(jsonObj.toString()); //6.put Map
Map<String,Object> map = new HashMap<String, Object>();
map.put("map1", "加");
map.put("map2", "映");
map.put("map3", "射");
jsonObj.put("map", map);
System.out.println(jsonObj.toString()); //7.putAll Map
jsonObj.putAll(map);
System.out.println(jsonObj.toString()); //8.组合: (返回的结果value是一个对象数组)
List<JSONObject> jlist = new ArrayList<JSONObject>();
JSONObject j = null;
for(i=0; i<3; i++){
j = JSONObject.fromObject(data);
j.put("aaaa"+i, i);
j.put("bbbb"+i, i);
j.put("cccc"+i, i);
jlist.add(j);
}
jsonObj.put("succList", jlist);
System.out.println(jsonObj.toString()); //9.组合 : (返回的结果value是一个对象数组,对象的某个属性又是一个对象(嵌套))
List<JSONObject> jlist1 = new ArrayList<JSONObject>();
for(i=0; i<3; i++){
j = JSONObject.fromObject(data);
j.put("xxxx"+i, i);
j.put("yyyy"+i, i);
j.put("zzzz"+i, obj1);
jlist1.add(j);
}
jsonObj.put("failList", jlist1);
System.out.println(jsonObj.toString()); //10.组合: 可以任意嵌套
JSONObject superJson = JSONObject.fromObject(data);
superJson.put("super", jsonObj);
superJson.put("base", "base");
System.out.println(superJson.toString());
}
}
输出结果:
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"]}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"]}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"],"set":["合","加","集"]}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"],"set":["合","加","集"],"map":{"map3":"射","map2":"映","map1":"加"}}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"],"set":["合","加","集"],"map":{"map3":"射","map2":"映","map1":"加"},"map3":"射","map2":"映","map1":"加"}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"],"set":["合","加","集"],"map":{"map3":"射","map2":"映","map1":"加"},"map3":"射","map2":"映","map1":"加","succList":[{"aaaa0":0,"bbbb0":0,"cccc0":0},{"aaaa1":1,"bbbb1":1,"cccc1":1},{"aaaa2":2,"bbbb2":2,"cccc2":2}]}
{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"],"set":["合","加","集"],"map":{"map3":"射","map2":"映","map1":"加"},"map3":"射","map2":"映","map1":"加","succList":[{"aaaa0":0,"bbbb0":0,"cccc0":0},{"aaaa1":1,"bbbb1":1,"cccc1":1},{"aaaa2":2,"bbbb2":2,"cccc2":2}],"failList":[{"xxxx0":0,"yyyy0":0,"zzzz0":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}},{"xxxx1":1,"yyyy1":1,"zzzz1":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}},{"xxxx2":2,"yyyy2":2,"zzzz2":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}}]}
{"super":{"id0":0,"id1":1,"id2":2,"id3":3,"id4":4,"JSONObject":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4},"arr":["加","数","组"],"list":["加","列","表"],"set":["合","加","集"],"map":{"map3":"射","map2":"映","map1":"加"},"map3":"射","map2":"映","map1":"加","succList":[{"aaaa0":0,"bbbb0":0,"cccc0":0},{"aaaa1":1,"bbbb1":1,"cccc1":1},{"aaaa2":2,"bbbb2":2,"cccc2":2}],"failList":[{"xxxx0":0,"yyyy0":0,"zzzz0":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}},{"xxxx1":1,"yyyy1":1,"zzzz1":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}},{"xxxx2":2,"yyyy2":2,"zzzz2":{"child0":0,"child1":1,"child2":2,"child3":3,"child4":4}}]},"base":"base"}

json针对list map set 应用的更多相关文章

  1. json字符串转map

    <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</ar ...

  2. fastJson将json字符串转换为map

    public class JsonUtil { /** * 将json转化成map * @param jsonStr * @return */ public static Map<String, ...

  3. JSON字符串与Map互转

    //一.map转为json字符串 public static String map2jsonstr(Map<String,?> map){ return JSONObject.toJSON ...

  4. Json字符串转map集合

    第一步:在pom.xml中添加依赖; <dependency> <groupId>com.alibaba</groupId> <artifactId>f ...

  5. json字符串转Map、json数组

    json数组转map public static void main(String[] args){ String strArr = "[{\"0\":\"zh ...

  6. go语言之进阶篇json解析到map

    1.json解析到map(通过类型断言,找到值和value类型) 示例: package main import ( "encoding/json" "fmt" ...

  7. JSON字符串转换为Map

    本文是利用阿里巴巴封装的FastJSON来转换json字符串的.例子如下: package com.zkn.newlearn.json; import com.alibaba.fastjson.JSO ...

  8. [GO]json解析到map

    package main import ( "encoding/json" "fmt" ) var str string func main() { m := ...

  9. C++实现json字符串与map的转换

    开源资源库 jsoncpp-src-0.5.0.tar.gz:https://sourceforge.net/projects/jsoncpp/ jsoncpp-master.ziphttps://g ...

随机推荐

  1. python自动保存百度网盘资源,一定要看

    觉得有帮助的别忘了关注一下知识图谱与大数据公众号 开始 在上一文中,我们保存了百度云盘的地址和提取码,但是这种分享链接很容易被屏蔽,最好的做法就是保存资源到自己的网盘,不过采集的链接有上万个,人肉保存 ...

  2. 基于SpringBoot+SpringDataJpa后台管理

    昨天朋友找我喝酒,说30岁了,比较焦虑,钱没赚到,整天被媳妇数落. 其实现在我们看到的不一定就事真实的情况,就算从高斯分布看,平平淡淡的人生才是大部分人的轨迹.当然抖音.知乎上的不能比,人均收入百万, ...

  3. C 类型限定符

    C 类型限定符 1. Introduction C 语言中的大部分类型都可以用称为限定符(qualifier)的关键字 const. volatile. restrict. _Atomic 加以限定. ...

  4. Linux里面的压缩和解压类指令

    gzip/gunzip 指令 ( .gz  不能压缩目录) gzip 用于压缩文件, gunzip 用于解压的 . gzip gzip命令用来压缩文件.gzip是个使用广泛的压缩程序,文件经它压缩过后 ...

  5. RabbitMq如何确保消息不丢失

    上篇写了掌握Rabbitmq几个重要概念,从一条消息说起,这篇来总结关于消息丢失让人头痛的事情.网络故障.服务器重启.硬盘损坏等都会导致消息的丢失.消息从生产到消费主要结果以下几个阶段如下图. ①生产 ...

  6. Spring AOP系列(一)— 代理模式

    Spring AOP系列(一)- 代理模式 AOP(Aspect Oriented Programming)并没有创造或使用新的技术,其底层就是基于代理模式实现.因此我们先来学习一下代理模式. 基本概 ...

  7. 编辑 编译 乱码 透彻 讲解 keil vscode notepad++

    1. 2.此时VSCODE内的改文件是乱码现象,进行如下操作,选择 通过编码重新打开, 选择GB 2312即可.(GB2312是兼容ANSI编码的) 详细解释一下: KEIL内是ANSI编码,VSCO ...

  8. linux应用-线程操作

    文章写得好,转载一下, https://blog.csdn.net/triorwy/article/details/80380977

  9. SpringBoot-05-web开发

    5. SpringBoot Web开发 5.1 web开发探究 简介 SpringBoot最大的特点就是自动装配! 使用SpringBoot的步骤: 创建一个SpringBoot应用,选择我们需要的模 ...

  10. P4568 [JLOI2011]飞行路线 / P2939 [USACO09FEB]Revamping Trails G

    题目描述 Link Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在 \(n\) 个城市设有业务,设这些城市分别标记为 \(0\) 到 \(n-1\),一共 ...