依赖包: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. 如何在一台机器上部署多个tomcat

    1,在/usr/local/下部署两个tomcat7. 2,修改/etc/profile文件,加入下面内容 vi  /etc/profile export JAVA_HOME=/usr/java/jd ...

  2. Spring Security 重定向原理分析

    本文基于 spring-security-core-5.1.1 和 tomcat-embed-core-9.0.12. 一个用户访问使用表单认证的 Web 应用时,后端的处理流程大致如下: 1.用户访 ...

  3. MATLAB:控制系统模型变换

    1.多项式转换为零极点 [z,p,k]=tf2zp(num,den); 2.零极点转换为多项式 [num,den]=zp2tf(z,p,k); 3.状态空间转换成多项式传递函数 [num,den]=s ...

  4. 【SPOJ GSS】数据结构题选做

    SPOJ GSS1 题意:给一个序列以及一些询问,每个是问\([l,r]\)中最大连续子序列和是多少. 思路:这个问题是以下问题的基础. 我们考虑用线段树来解决这个问题. 首先我们来想想如果要求出最大 ...

  5. root密码重置(Centos 7)

    1.系统启动时出现操作系统的选择界面,按e进入grub编辑模式. 2.选择linux16开头这一行在最后加上  \re.break 按ctrl+x 3.进入switch-root:# 输入 mount ...

  6. Android 底部菜单会被顶起来的情况

    描述:主界面有一排底部菜单,当从主界面跳转到另一个界面,假如说这个界面有软键盘弹出,主界面的顶部菜单会被顶起来. 原因:系统软键盘造成的 解决办法:在返回主界面时将系统软键盘关掉即可

  7. springbootAdmin+eureka集群+swagger

    请移步githubb下载源码.知识共享.(https://github.com/yivvonllh) 或者直接git下载(https://github.com/yivvonllh/spring-clo ...

  8. Redis缓存的使用

    首先需要去Redis官网下载Redis的安装包 要在eclipse中使用Redis还需要两个jar包,需要的自行查找或者联系我 运行Redis需要开启Redis的服务端,也就是下载的安装包中的“red ...

  9. React-页面路由参数传递的两种方法

    list页->detail页 方法一:路由参数 路由导航: 用“/” <Link to={'/detail/'+item.get('id')} key={index}> 路由map: ...

  10. Vue-认识状态管理vuex

    vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试,可以多个组件共享状态.简单来说,就是共享的状态用state来存放,用mutations来操作state,但是 ...