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. IDEA—使用插件反编译jar包

    关注微信公众号:CodingTechWork,一起学习进步. 引言   在产品上线后,如果遇到问题阻塞,我们第一步要做的就是去查看日志,但是代码不是一个人写的,说不定就会遇到没有日志的,遇到这种情况, ...

  2. 基于python的extract_msg模块提取outlook邮箱保存的msg文件中的附件

    笔者保存了一些outlook邮箱中保存的一些msg格式的邮件文件,现需要将其中的附件提取出来, 当然直接在outlook中就可以另存附件,但outlook默认是不支持批量提取邮件中的附件的 思考过几种 ...

  3. ch4inrulz: 1.0.1靶机渗透

    ch4inrulz: 1.0.1靶机渗透 扫描主机端口,还行啦四个开放的端口,8011和80端口都运行着web服务. 80端口下的robots.txt告诉我们什么都没有 在8011端口的apache服 ...

  4. pandas读取MySql/SqlServer数据

    用过的东西总是会忘记,尤其是细节,还是记下来比较靠谱. 读取MySql数据 1 import MySQLdb 2 import pandas as pd 3 4 conn = MySQLdb.conn ...

  5. nginx 1.12安装

    准备工作 使用root用户安装. 到nginx官网下载Linux源码或者执行:wget http://nginx.org/download/nginx-1.12.2.tar.gz. 到pcre站点下载 ...

  6. 0921 LCA练习

    1.poj 1330 数据结构中的树,在计算机科学中是非常重要的,例如我们来看看下面这棵树: 在图中我们对每个节点都有编号了. 8号节点是这棵树的根.我们定义,一个子节点向它的根节点的路径上,任意一个 ...

  7. 我的Keras使用总结(5)——Keras指定显卡且限制显存用量,常见函数的用法及其习题练习

    Keras 是一个高层神经网络API,Keras是由纯Python编写而成并基于TensorFlow,Theano以及CNTK后端.Keras为支持快速实验而生,能够将我们的idea迅速转换为结果.好 ...

  8. 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据

    070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...

  9. 【小白学PyTorch】20 TF2的eager模式与求导

    [新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.时间序列等多个目标为技术学习的分群和水群唠嗑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx64501661 ...

  10. 达梦产品技术支持培训-day2-DM8常用SQL

    (本文只作为随笔或个人笔记,非官方文档,请勿作他用,谢谢) DM8数据库的SQL兼容性很高,和Oracle差距不大,以下是个人认为比较关键的部分. 1.关键动词 create --新建 drop -- ...