• 走进json


    纯做笔记,请多指教...

    1,json格式:

    非数组: {"key" : "value"}

    数组:[{"key" : "value"},{"key" : ["value","value","value","..."]}]

    2,json格式验证

    优秀在线验证连接:http://www.bejson.com/

    3,java对象-json转换工具-->fastjson

    支持:

    1,单对象

    序列化:JSON.toJSONString(obj);

    反序列化:JSON.parseObject(JSONString,obj.class);

    2,集合对象

    序列化:JSON.toJSONString(obj);

    反序列化:JSON.ArrayObject(JSONString,obj.class);

    注意集合反序列化传入的是集合元素对象.class

    3,支持复合对象(对象中的元素是对象/数组)

    待续...

    4,日期类型添加格式化条件:

    SerializeConfig config = new SerializeConfig();
    config.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));

    String s = JSON.toJSONString(date,config);

    日期类型放在对象中 也可以,只要加上config就行了

    ......如果需要的话还可以加一些别的格式化条件

     说明一下:

    SerializeConfig:是对序列化过程中一些序列化过程的特殊配置,这里用作日期格式的定义。

    有关需要带类型的全类型序列化过程,需要调用JSON.toJSONStringZ()方法。

    需要美化输出时候,需要打开序列化美化开关,在方法中true那个参数。

    JSON.toJSONString(arr,true);

    5,复杂情况反序列化:

    例如:JSON.parseObject(o, new TypeReference<Map<String,Object>>() {});

    推荐学习网址:https://www.w3cschool.cn/fastjson/fastjson-howto.html

  • 相关阅读:
    TCP与UDP在socket编程中的区别
    使用python selenium webdriver模拟浏览器
    Web性能测试参数
    DPDK学习之开篇介绍
    go环境import cycle not allowed问题处理
    使用etcd+confd管理nginx配置
    服务的扩展性
    linux 网络编程
    单片机成长之路(stm8基础篇)- 025 stm8 时钟切换
    单片机成长之路(51基础篇)- 024 基于 N76E003 的按键按键状态机
  • 原文地址:https://www.cnblogs.com/sunshinekevin/p/7197459.html
Copyright © 2020-2023  润新知