json数据格式

    xiaoxiao2026-01-02  1

    JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。

    1.json格式的规范

    JSON就是一串字符串 只不过元素会使用特定的符号标注。 {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象) 所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象。而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组。当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象。

    有一个网页版工具可以校验一个string是不是合法的json,地址为:http://www.bejson.com/

    2.如何序列化复杂的map?

    以jackson框架与Map<Student,String>为例,序列化的时候不报错,Student对象以toString()的形式表示。反序列化的时候会失败。

    原因是json的规范限制。

    解决方法1:自己写Student类的deserializer。

    解决方法2:将Map<Student,String>转换为 class A{List<Student> list1;List<String> list2}后再序列化,让list1与list2的下标一一对应。

    最新回复(0)