依赖包:json-20180130.jar

MAVEN地址:

         <dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>

比较简单,一看就懂,源码如下:

 package json;

 import org.json.JSONArray;
import org.json.JSONObject; import java.util.HashMap;
import java.util.Map; /**
* JSONObject和JSONArray使用:进行JSON对象转换和操作
* JSONObject:处理JSON串,多种构造方法,可用于多类型转账。
* JSONArray:JSON数组,有顺序
*/
public class JsonFirst {
public static void main(String[] args) {
// 1、定义一个json对象
JSONObject jo = new JSONObject();
jo.put("id", "1");
jo.put("name", "tom");
jo.put("age", "25");
System.out.println("1、JSONObject: " + jo);
// 获取name值
String name = jo.getString("name");
System.out.println("查询name:" + name); // 2、定义一个Json数组,数组有顺序
JSONArray ja = new JSONArray();
ja.put(0, "yang");
ja.put(1, "li");
ja.put(2, "zhang");
ja.put(4, "fouth");
System.out.println("2、JSONArray数组: " + ja);
// 获取第四个值
String fouth = ja.getString(4);
System.out.println("查询第四个:" + fouth); // 3、json中添加json对象组成复杂JSON
jo.put("Object", ja);
System.out.println("3、添加JSON对象后: " + jo); // 4、String转换为JSON(复杂JSON处理)
String str = "{\"name\":\"tom\",\"Object\":[\"yang\",\"li\",\"zhang\",null,\"fouth\"],\"id\":\"1\",\"age\":\"25\"}";
JSONObject jo2 = new JSONObject(str);
System.out.println("4、String转换为JSON:" + jo2);
System.out.println("name属性值:" + jo2.getString("name"));
System.out.println("Object属性值:" + jo2.get("Object").toString());
// 删除Object属性值
jo.remove("Object");
System.out.println("删除Object属性值:" + jo); // 5、map和JSON转换
Map<String, String> map1 = new HashMap<String, String>();
map1.put("name", "Alexia");
map1.put("sex", "female");
map1.put("age", "23");
JSONObject jo3 = new JSONObject(map1);
System.out.println("5.1 map转JSON:" + jo3);
Map<String, Object> map2 = new HashMap<String, Object>();
map2 = jo3.toMap();
System.out.println("5.2 JSON转map:" + map2); // 6、JSONArray中添加map和JSON对象
JSONArray jo4 = new JSONArray();
jo4.put(map1);
jo4.put(1, "333");
jo4.put(jo);
System.out.println("6、JSONArray中添加map和JSON对象:" + jo4); }
}

运行结果:

1、JSONObject: {"name":"tom","id":"1","age":"25"}
查询name:tom
2、JSONArray数组: ["yang","li","zhang",null,"fouth"]
查询第四个:fouth
3、添加JSON对象后: {"name":"tom","Object":["yang","li","zhang",null,"fouth"],"id":"1","age":"25"}
4、String转换为JSON:{"name":"tom","Object":["yang","li","zhang",null,"fouth"],"id":"1","age":"25"}
name属性值:tom
Object属性值:["yang","li","zhang",null,"fouth"]
删除Object属性值:{"name":"tom","id":"1","age":"25"}
5.1 map转JSON:{"name":"Alexia","age":"23","sex":"female"}
5.2 JSON转map:{sex=female, name=Alexia, age=23}
6、JSONArray中添加map和JSON对象:[{"name":"Alexia","age":"23","sex":"female"},"333",{"name":"tom","id":"1","age":"25"}]

Java之JSON处理(JSONObject、JSONArray)的更多相关文章

  1. java和js中JSONObject,JSONArray,Map,String之间转换

    --------------------------------------------------Java中--------------------------------------------- ...

  2. json Map JsonObject JsonArray

    json字符串是不应包含 "\"转义字符的,json不能通过js json工具转换或者java json工具 包转换那么一定程度上json字符串已被在一次处理不在能转成json了. ...

  3. Java转json

    一.json介绍 1. 作用:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,是存储和交换文本信息的语法. 2.json以key-value的格式书写,数 ...

  4. java 字符串解析为json 使用org.json包的JSONObject+JSONArray

    参考: https://blog.csdn.net/xingfei_work/article/details/76572550 java中四种json解析方式 JSONObject+JSONArray ...

  5. Introduction to Structured Data json的2种形式 JAVA解析JSON数据 - JsonArray JsonObject

    https://developers.google.com/search/docs/guides/intro-structured-data Structured data refers to kin ...

  6. json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)

    1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...

  7. json:JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  8. java.sql.Date赋值给了java.util.Date.转化成JSONArray时出错net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

    net.sf.json.JSONException: java.lang.reflect.InvocationTargetExceptionat net.sf.json.JSONObject.defa ...

  9. java fastjson:Map与json以及JSONObject ,JSONObject与String互转

    import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson ...

随机推荐

  1. java 入门常识

    1.java应用程序的运行机制 Java首先利用文本编辑器编写 Java源程序,源文件的后缀名为.java:再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀名为.class: 最后 ...

  2. Caused by: java.lang.IllegalStateException: commit already called

    出现的情况,当FragmentTransaction是全局变量时,fragment智能调用一次commint: 异常的意思:commint已经被调用过了. 所以不要重复调用它就好了.

  3. 学习CSS布局 - dispaly属性

    "display"属性 display 是CSS中最重要的用于控制布局的属性. 每个元素都有一个默认的 display 值,这与元素的类型有关. 对于大多数元素它们的默认值通常是  ...

  4. CF875F Royal Questions 基环树、Kruskal

    题目传送门:http://codeforces.com/problemset/problem/875/F 题意:有$N$个王子和$M$个公主,每个公主或王子都只能选择至多一个王子或公主作为自己的结婚对 ...

  5. jQuery的Cookie使用

    为程序设置Cookie,可以在C#内进行,也可以在前端进行.如jQuery的Cookie也是一个很不错的插件. 在使用之前,可以先使用NuGet来安装cookie: 在MVC的视图中,引用jQuery ...

  6. jQuery webcam plugin

    jQuery webcam plugin The jQuery webcam plugin is a transparent layer to communicate with a camera di ...

  7. macaca使用中问题解决方法整理

    报告老板:很多同学在搭建macaca的环境时候,出现了各种问题,尤其是使用windows的同学,更是复杂且费劲的要命,我这里针对一些遇到的坑,按照从头的搭建开始说起,如下 基本的搭建条件要满足基础环境 ...

  8. 基于HTML5 WebGL实现 json工控风机叶轮旋转

    突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而且这个盒子一定要能打开.我用HT实现了我的想法,代码一百多行,这么少的代码 ...

  9. C#_图片存取数据库Winform

    #region 用于在PictureBox控件中显示选择的图片        /// <summary>        /// 用于在PictureBox控件中显示选择的图片        ...

  10. 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记

    在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用. 查看镜像 [root@docker-test1 ~]# docker image ...