介绍 JsonObject、JsonArray之前,先介绍下JsonConfig

JsonConfig:

  1. setClassMap(Map classMap)
    设置json属性类型,上json里的其中值为List时,可通过此属性设置属性类型
    Map jMap = new HashMap();
    jMap.put("contactPersonList",ContactPerson.class);
    jMap.put("subscribedList",InvestorSubscribed.class);
    jsonConfig.setClassMap(jMap);
  2. setRootClass(Class rootClass)
    设置json要转化的java类型
  3. setExcludes(String[] excludes)
    去除不需要转化的属性
  4. setJavaPropertyFilter(PropertyFilter javaPropertyFilter)
    通过实现PropertyFilter 的apply方法来去除不需要转化的属性。当返回true时,则过滤(其中ower为当前实体类,name为属性,value为值)
     jsonConfig.setJavaPropertyFilter((ower,name,value) -> {
    return true;
    });

JsonObject常用方法:

  1. Object toBean(JSONObject jsonObject)
  2. Object toBean(JSONObject jsonObject, Class beanClass)
    beabClass既是设置JsonConfigde的RootClass
  3. Object toBean(JSONObject jsonObject, Class beanClass, Map classMap)
  4. Object toBean(JSONObject jsonObject, JsonConfig jsonConfig)

JsonArray常用方法:

  1. Collection toCollection(JSONArray jsonArray)
  2. Collection toCollection(JSONArray jsonArray, Class objectClass)
  3. Collection toCollection(JSONArray jsonArray, JsonConfig jsonConfig)

将java类转为Json时常用方法:

  1.  void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)//注意一个是jsonProperty,一个是javaProperty
  2. 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的个人总结的更多相关文章

  1. jsonObject jsonArray jsonTokener jsonStringer,json解析以及http请求获取josn数据并加以解析

    JSON的定义: 一 种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的 支持),从而可以在不同平台间进行 ...

  2. Android(java)学习笔记208:Android中操作JSON数据(Json和Jsonarray)

    1.Json 和 Xml       JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  3. Android(java)学习笔记151:Android中操作JSON数据(Json和Jsonarray)

    1.Json 和 Xml       JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

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

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

  5. java JSONObject/JSONArray详解

    应用架包:json-lib-2.4-jdk15.jar.及相关依赖架包. 一.JSONObject和JSONArray对象 -------------------------------------- ...

  6. JSON和GSON操作json数据

    1,JSON操作json import net.sf.json.JSONArray; import net.sf.json.JSONObject; //json操作数据 public static S ...

  7. Java 操作 Json

    1. 使用Gson构建Json 初始化 JsonObject jsonObject = new JsonObject(); 添加属性 jsonObject.addProperty("name ...

  8. 操作JSON————精品

    使用背景: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原 ...

  9. Java操作JSON数据(3)--fastjson操作JSON数据

    fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.本文介绍下fastjs ...

随机推荐

  1. cmake 工具使用

    cmake_minimum_required(VERSION 3.5)#cmake版本 project( DisplayImage )#项目名称 find_package( OpenCV REQUIR ...

  2. light4j轻量级微服务应用

    最近对light-4j轻框架比较感兴趣,于是对现有应用做了一次重构,现将其间的一些点滴所得分享出来. 项目打包 pom.xml配置了两个profile:debug支持mvn exec:exec启动应用 ...

  3. TCP被动打开 之 第三次握手-接收ACK

    假定客户端主动打开,发送syn包到服务器,服务器创建连接请求控制块加入到队列,进入TCP_NEW_SYN_RECV 状态,发送syn+ack给客户端,并启动定时器,等待客户端回复最后一个握手ack: ...

  4. LeetCode 144. 二叉树的前序遍历(Binary Tree Preorder Traversal)

    题目描述 给定一个二叉树,返回它的 前序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路 由 ...

  5. 将Chrome中的缓存数据移出C盘

    Chrome浏览器会默认的将用户的缓存是数据存放于  C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data文件夹内.用久了之后,就会积攒大量缓存数据 ...

  6. 四、使用jsonpath-JSON Extractor提取复杂响应中的数组及其他字段

    一.jsonpath实时调试url http://jsonpath.com/ 二.对于复杂响应的提取字段 1.json字符串如下: { "code": 0, "data& ...

  7. 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介

    笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...

  8. django 模板里面for循环和if常用的方法

    django 模板里面for循环常用的方法 {% for %} 允许我们在一个序列上迭代.与Python的for 语句的情形类似,循环语法是 for X in Y ,Y是要迭代的序列而X是在每一个特定 ...

  9. 转SQLSERVER 会不会自动加锁

    [SQL]提升查询效率与避免LOCK发生nolock: 可能把没有提交事务的数据也显示出来,可能会产生脏读readpast: 会把被锁住的行不显示出来 所有Select加 With (NoLock)解 ...

  10. python 将视频转换成音频

    安装库 sudo pip install moviepy 代码 index.py from moviepy.editor import * video = VideoFileClip('test.mp ...