fastjson

JSON简介

http://www.bejson.com/ 在线验证json正确性工具

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

//将json字符串转化为json对象
//在fastjson中是这么做的
JSONObject obj=JSON.parseObject(jsonStr);

fastjson.jar包原始下载地址:https://github.com/alibaba/fastjson

json数据格式

1、字符串

转义符

  • \\反斜线本身;

  • \/正斜线;

  • \"双引号

  • \b退格;

  • \f换页;

  • 换行;

  • 回车;

  • 水平制表符;

  • \u四位的十六进制数字。

2、数字

JSON 中不区分整型和浮点型,只支持使用 IEEE-754 双精度浮点格式来定义数字。此外,JSON 中不能使用八进制和十六进制表示数字,但可以使用 e 或 E 来表示 10 的指数。

IEEE-754 表示二进制浮点数算术标准,是 20 世纪 80 年代以来使用最广泛的浮点数运算标准。

3、布尔值

  • true

  • false

4、空

  • null

5、对象

JSON 中,对象由花括号{ }以及其中的若干键/值对组成,一个对象中可以包含零个或多个键/值对,每个键/值对之间需要使用逗号,分隔

6、数组

JSON 中,数组由方括号[ ]和其中的若干值组成,值可以是 JSON 中支持的任意类型,每个值之间使用逗号,进行分隔

例子

{
    "array":[
        {
            "name":"C语言中文网",
            "url":"http://c.biancheng.net/",
            "course":"JSON教程"
        },
        [
            "JSON是什么?",
            "JSON语法规则",
            "JSON数据类型"
        ],
        "JSON",
        18,
        true
    ]
}

通过上面的示例可以看出,==JSON 中数组与对象不同==,对象是由若干键/值对组成,而数组则是由若干值构成的。数组中的值可以是 JSON 中的任意类型,在上面的示例中就分别使用了对象、数组、字符串、数字、布尔值等类型。

在 JSON 中使用数组时,有以下几点需要注意:

  • 数组必须使用方括号[ ]定义;

  • 数组的内容由若干值组成;

  • 每个值之间需要使用逗号,进行分隔;

  • 最后一个值末尾不需要添加逗号;

  • 数组中的值可以是 JSON 中的任何类型,例如字符串、数字、对象、数组、布尔值、null 等。

序列化

序列化的对象为javabean

==(反射?)==

Last updated