JsonObject、JsonArray操作json的个人总结
介绍 JsonObject、JsonArray之前,先介绍下JsonConfig
JsonConfig:
setClassMap(Map classMap)
设置json属性类型,上json里的其中值为List时,可通过此属性设置属性类型Map jMap = new HashMap();
jMap.put("contactPersonList",ContactPerson.class);
jMap.put("subscribedList",InvestorSubscribed.class);
jsonConfig.setClassMap(jMap);setRootClass(Class rootClass)
设置json要转化的java类型setExcludes(String[] excludes)
去除不需要转化的属性setJavaPropertyFilter(PropertyFilter javaPropertyFilter)
通过实现PropertyFilter 的apply方法来去除不需要转化的属性。当返回true时,则过滤(其中ower为当前实体类,name为属性,value为值)jsonConfig.setJavaPropertyFilter((ower,name,value) -> {
return true;
});
JsonObject常用方法:
Object toBean(JSONObject jsonObject)
Object toBean(JSONObject jsonObject, Class beanClass)
beabClass既是设置JsonConfigde的RootClassObject toBean(JSONObject jsonObject, Class beanClass, Map classMap)
Object toBean(JSONObject jsonObject, JsonConfig jsonConfig)
JsonArray常用方法:
Collection toCollection(JSONArray jsonArray)
Collection toCollection(JSONArray jsonArray, Class objectClass)
Collection toCollection(JSONArray jsonArray, JsonConfig jsonConfig)
将java类转为Json时常用方法:
void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)//注意一个是jsonProperty,一个是javaProperty
void registerJsonValueProcessor(Class propertyType, JsonValueProcessor jsonValueProcessor)
此方法为遇到 制定类型时,进行数据转化格式,常用语转化Date时间格式。实现JsonValueProcessor的Object processArrayValue(Object var1, JsonConfig var2)//处理单个类
Object processObjectValue(String var1, Object var2, JsonConfig var3)//处理数组的类
ps:注意对null进行判断
JsonObject、JsonArray操作json的个人总结的更多相关文章
- jsonObject jsonArray jsonTokener jsonStringer,json解析以及http请求获取josn数据并加以解析
JSON的定义: 一 种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的 支持),从而可以在不同平台间进行 ...
- Android(java)学习笔记208:Android中操作JSON数据(Json和Jsonarray)
1.Json 和 Xml JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- Android(java)学习笔记151:Android中操作JSON数据(Json和Jsonarray)
1.Json 和 Xml JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- java 字符串解析为json 使用org.json包的JSONObject+JSONArray
参考: https://blog.csdn.net/xingfei_work/article/details/76572550 java中四种json解析方式 JSONObject+JSONArray ...
- java JSONObject/JSONArray详解
应用架包:json-lib-2.4-jdk15.jar.及相关依赖架包. 一.JSONObject和JSONArray对象 -------------------------------------- ...
- JSON和GSON操作json数据
1,JSON操作json import net.sf.json.JSONArray; import net.sf.json.JSONObject; //json操作数据 public static S ...
- Java 操作 Json
1. 使用Gson构建Json 初始化 JsonObject jsonObject = new JsonObject(); 添加属性 jsonObject.addProperty("name ...
- 操作JSON————精品
使用背景: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原 ...
- Java操作JSON数据(3)--fastjson操作JSON数据
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.本文介绍下fastjs ...
随机推荐
- cmake 工具使用
cmake_minimum_required(VERSION 3.5)#cmake版本 project( DisplayImage )#项目名称 find_package( OpenCV REQUIR ...
- light4j轻量级微服务应用
最近对light-4j轻框架比较感兴趣,于是对现有应用做了一次重构,现将其间的一些点滴所得分享出来. 项目打包 pom.xml配置了两个profile:debug支持mvn exec:exec启动应用 ...
- TCP被动打开 之 第三次握手-接收ACK
假定客户端主动打开,发送syn包到服务器,服务器创建连接请求控制块加入到队列,进入TCP_NEW_SYN_RECV 状态,发送syn+ack给客户端,并启动定时器,等待客户端回复最后一个握手ack: ...
- LeetCode 144. 二叉树的前序遍历(Binary Tree Preorder Traversal)
题目描述 给定一个二叉树,返回它的 前序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路 由 ...
- 将Chrome中的缓存数据移出C盘
Chrome浏览器会默认的将用户的缓存是数据存放于 C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data文件夹内.用久了之后,就会积攒大量缓存数据 ...
- 四、使用jsonpath-JSON Extractor提取复杂响应中的数组及其他字段
一.jsonpath实时调试url http://jsonpath.com/ 二.对于复杂响应的提取字段 1.json字符串如下: { "code": 0, "data& ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...
- django 模板里面for循环和if常用的方法
django 模板里面for循环常用的方法 {% for %} 允许我们在一个序列上迭代.与Python的for 语句的情形类似,循环语法是 for X in Y ,Y是要迭代的序列而X是在每一个特定 ...
- 转SQLSERVER 会不会自动加锁
[SQL]提升查询效率与避免LOCK发生nolock: 可能把没有提交事务的数据也显示出来,可能会产生脏读readpast: 会把被锁住的行不显示出来 所有Select加 With (NoLock)解 ...
- python 将视频转换成音频
安装库 sudo pip install moviepy 代码 index.py from moviepy.editor import * video = VideoFileClip('test.mp ...