Java之JSON处理(JSONObject、JSONArray)
依赖包: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)的更多相关文章
- java和js中JSONObject,JSONArray,Map,String之间转换
--------------------------------------------------Java中--------------------------------------------- ...
- json Map JsonObject JsonArray
json字符串是不应包含 "\"转义字符的,json不能通过js json工具转换或者java json工具 包转换那么一定程度上json字符串已被在一次处理不在能转成json了. ...
- Java转json
一.json介绍 1. 作用:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,是存储和交换文本信息的语法. 2.json以key-value的格式书写,数 ...
- java 字符串解析为json 使用org.json包的JSONObject+JSONArray
参考: https://blog.csdn.net/xingfei_work/article/details/76572550 java中四种json解析方式 JSONObject+JSONArray ...
- 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 ...
- 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:// ...
- json:JSONObject与JSONArray的使用
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- 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 ...
- java fastjson:Map与json以及JSONObject ,JSONObject与String互转
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson ...
随机推荐
- 解决VC++6.0打开文件或添加文件到工程出错的问题
相信很多朋友在安装VC++6.0之后,发现无法使用打开文件命令.同时,打开了工程,却无法实现文件添加到工程的问题.一旦进行如此操作,便会出现应用程序错误,需要关闭应用程序.为此,不胜其烦.更有甚者,以 ...
- jenkins编译jar包 报connection连接错误
原因是因为编译启动连接了注册中心 eureka.client.service-url.defaultZone=http://localhost:8093/eureka/ eureka.client.r ...
- ubuntu 下使用 jsoncpp库
做项目的时候需要用c++解析json文件, 之前使用的是libjson 库, 但当g++ 开启 -std=c++11 选项时, 该库的很多功能不能用, 而且还有一些其他的问题, 不推荐使用. 后来采用 ...
- IIC双向电平转换电路设计
现代的集成电路工艺加工的间隙可达0.5μm 而且很少限制数字I/O 信号的最大电源电压和逻辑电平. 为了将这些低电压电路与已有的5V或其他I/O电压器件连接起来,接口需要一个电平转换器.对于双向的总线 ...
- linux驱动编写之进程独占驱动
一.描述 嵌入式开发系统中,有各种硬件资源,而有些硬件资源使用时候是需要进程独占的.也就是说,同一时刻只有一个进程允许使用这个硬件资源,其他的进程只能放弃执行或者挂起等待.在设计其对应驱动的时候,就需 ...
- linux配置iptables(3)
简单通用 web 服务器iptables 配置 *filter :INPUT DROP [0:0]:FORWARD DROP [0:0]:OUTPUT ACCEPT [0:0] #超出 链规则 的数据 ...
- 【UFUN开发板评测】小巧而不失精致,简单而不失内涵——uFun开发板开箱爆照
关于uFun学习板--"满满的爱和正能量" uFun是由@张进东 张工组织发起的一个开源的学习板,设计初衷是为了帮助学生更好的理解电子知识和开发技巧,同时又能对学生毕业找工作有很明 ...
- 关于树莓派HDMI转VGA线接显示器黑屏
经过数种折腾,找到了解决方法,在SD卡内有个config.txt文件,在其中找到“#hdmi_safe=1”,把#消除掉,变更后成为 # uncomment if you get no picture ...
- Docker inspect - format格式化输出 - 运维笔记
Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数. 什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller ...
- #个人博客作业Week1——流行的源程序版本管理软件和项目管理软件
1.TFS(Team Foundation Server)(1)定义:TFS是一个高可扩展.高可用.高性能.面向互联网服务的分布式文件系统,主要针对海量的非结构化数据, 它构筑在普通 ...