JSON解析教程

JSON的介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON格式

JSON结构共有2种:

  1. 对象结构;
  2. 数组结构;

对象结构:一个对象,由一个大括号表示. 括号中 描述对象的属性 . 通过键值对来描述对象的属性 

        格式: 键与值之间使用冒号连接;

                 多个键值对之间使用逗号分隔;

                 键值对的键 应使用引号引住

var JSONName = 
{
    "键名1":值1,
         .
         .
         .
    "键名n":值n
}

数组格式:用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。

var JSONName = 
[
    {
        "键名1":值1,
         .
         .
         .
        "键名n":值n
    },
    .
    .
    .
    {
        "键名1":值1,
         .
         .
         .
        "键名n":值n
    }
]

JSON解析

Java中对于JSON的解析方式有很多中,这里讲解Gson解析方式和FastJson解析方式。

Gson解析方式

        将对象转换为JSON字符串步骤:

                1. 引入JAR包(下载地址)

                3. 在需要转换JSON字符串的位置编写如下代码即可:

                 String json = new Gson().toJSON(要转换的对象);

Student stu = new Student("1001","张三","男",22);
String json = new Gson().toJson(stu);
System.out.println(json);

------运行结果为:---------
{"id":"1001","name":"张三","sex":"男","age":22}

        将JSON字符串转换为对象步骤:

                1. 引入JAR包(下载地址)

                2. 在需要转换Java对象的位置, 编写如下代码:

                对象 = new Gson().fromJson(JSON字符串,对象类型.class);

String json = "{\"id\":\"1001\",\"name\":\"张三\",\"sex\":\"男\",\"age\":22}";
Student stu = new Gson().fromJson(json, Student.class);
System.out.println(stu);


--------运行结果为:----------
Student [id=1001, name=张三, sex=男, age=22]

FastJson解析式

Fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和生成器,来自 阿里巴巴的工程师开发。

  将对象转换为JSON字符串步骤:

                1. 引入JAR包(下载地址)

                3. 在需要转换JSON字符串的位置编写如下代码即可:

                 String json=JSON.toJSONString(要转换的对象);

Student stu = new Student("1001","张三","男",22);
String json = JSON.toJSONString(stu);
System.out.println(json);

------运行结果为:---------
{"age":22,"id":"1001","name":"张三","sex":"男"}

        将JSON字符串转换为对象步骤:

                1. 引入JAR包(下载地址)

                2. 在需要转换Java对象的位置, 编写如下代码:

                类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

                或 List list=JSON.parseArray(JSON字符串,类型.class);

String json = "{\"id\":\"1001\",\"name\":\"张三\",\"sex\":\"男\",\"age\":22}";
Student stu = JSON.parseObject(json, Student.class);
System.out.println(stu);


--------运行结果为:----------
Student [id=1001, name=张三, sex=男, age=22]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘875

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值