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 ...
随机推荐
- pstart
下面是我初步的排查过程: [1] [root@71 ~]# tcpdump host 192.168.0.71|grep "IP 115.*"|more tcpdump: verb ...
- arcgis_js_api_3.12的project实践
esri.config.defaults.geometryService = new esri.tasks.GeometryService("http://localhost:6080/ar ...
- Java多线程编程模式实战指南(二):Immutable Object模式
多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁.而锁本身又会带来一些问题和开销.Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线 ...
- LED灯珠散热的计算方法
LED灯珠散热的计算方法 来源: 时间:2014-09-23 13:55 [编辑:lufieliu] [字体:大 中 小] 我来说两句 一.热对LED的影响 1.LED是冷光源吗? (1)LED的 ...
- DataWorks使用小结(一)——概述
一.概述 DataWorks数据工场,是MaxComputer的可视化开发平台,一站式开发.管理界面 1.功能概述 1.强大调度:支持分钟到月的调度 2.多种任务:支持ODPS.SHELL等多种任务 ...
- 浅谈左偏树在OI中的应用
Preface 可并堆,一个听起来很NB的数据结构,实际上比一般的堆就多了一个合并的操作. 考虑一般的堆合并时,当我们合并时只能暴力把一个堆里的元素一个一个插入另一个堆里,这样复杂度将达到\(\log ...
- [Oracle]TM lock (DML enqueue) 的相容性
[Oracle]TM lock (DML enqueue) 的相容性 RS(SS): 行共享 LMODE =2 RX(SX): 行独占 LMODE =3 S: 共享 ...
- 个人java框架 技术分析
1.框架选型 spring-boot https://github.com/JeffLi1993/springboot-learning-example https://mp.weixin.qq.co ...
- Mvc_前后端绑定数据json集合
ViewBag.SysModuleList =new List<SysModule>(){.....}; var data = @Html.Raw(Json.Encode(ViewBag ...
- Docker网络解决方案 - Weave部署记录
前面说到了Flannel的部署,今天这里说下Docker跨主机容器间网络通信的另一个工具Weave的使用.当容器分布在多个不同的主机上时,这些容器之间的相互通信变得复杂起来.容器在不同主机之间都使用的 ...