介绍 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. [译]Webpack 4 — 神秘的SplitChunksc插件

    原文链接:Webpack 4 - Mysterious SplitChunks Plugin 官方发布了 webpack 4,舍弃了之前的 commonChunkPlugin,增加了 SplitChu ...

  2. Warning: setcookie() expects parameter 3 to be long, string given

    Warning: setcookie() expects parameter 3 to be long, string given 这个是我用php7.0会报这个错误, 切换低版本php5.6就ok

  3. koa 基础(十七)原生 JS 中的类、静态方法、继承

    1.app.js /** * 原生 JS 中的类.静态方法.继承 * es5中的类和静态方法 */ function Person(name, age) { // 构造函数里面的方法和属性 this. ...

  4. dpkg软件包管理

    要想得心应手管理Ubuntu软件包,就必须熟悉其中最重要的软件包管理程序dpkg工具是Ubuntu软件包管理工具的基础.使用dpkg工具可以实现软件包的安装.卸载.查询.编译.打包等功能. dpkg( ...

  5. 数据分析 - numpy 模块

    numpy 概述 ▨  Numerical Python. 补充了python所欠缺的数值计算能力 ▨  Numpy是其他数据分析及机器学习库的底层库 ▨  Numpy完全标准C语言实现,运行效率充分 ...

  6. Systemd 指令

    Systemd 指令 原文:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 一.由来 历史上,Linux 的 ...

  7. maven 打jar包和war包

     (       最简单的:修改pom.xml文件:                        <packaging>war</packaging>(如果是jar,则是&l ...

  8. vue-cli3的安装使用

    一.安装vue-cli3 1.全局安装vue-cli 使用命令 cnpm install  -g @vue/cli . npm install  -g @vue/cli.yarn global add ...

  9. WPF子线程更新UI(Dispatcher.BeginInvoke)

       在做WPF开发时,如果直接在子线程里更新UI会报错—–“调用线程无法访问此对象,因为另一个线程拥有该对象.”,这是因为WPF禁止在非UI线程里直接更新UI界面. 解决方案:   在子线程里调用D ...

  10. django在进行模板render(渲染)时,对传过来的是字典中包含字典应用方法

    网上自强学堂参考的 views.py def home(request): info_dict = {'site': u'自强学堂', 'content': u'各种IT技术教程'} return r ...