Java学习-JSON解析



前言

本篇文档主要介绍一下JSON,主要应用在数据的交换,数据传输过程中,解析起来速度比XML快。在JAVA中,就是将Java中的对象快速的转换为 JSON格式的字符串,或者将JSON格式的字符串, 转换为Java的对象。


提示:以下是本篇文章正文内容,下面案例可供参考

一、JSON是什么?

JSON(JavaScript Object Notation), JS对象简谱 , 是一种轻量级的数据交换格式。百科解释为:它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

二、对象格式

一个对象, 由一个大括号表示。括号中描述对象的属性,通过键值对来描述对象的属性。(可以理解为, 大括号中, 包含的是一个个的键值对)。
格式:
键与值之间使用冒号连接,多个键值对之间使用逗号分隔;键值对的键,应使用引号引住 (通常Java解析时, 键不使用引号会报错,而JS能正确解析);键值对的值,,可以是JS中的任意类型的数据。

代码如下(示例):

//JSON:
{
"name":"语文",
"info":"一二三四五"
}

注意:在JSON格式中可以与对象互相嵌套:
[元素1,元素2…]

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

二、JSON解析

1.Gson

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。

(1)将对象转换为JSON字符串

转换JSON字符串的步骤:在需要转换JSON字符串的位置编写如下代码即可。(要先引入JAR包)
String json = new Gson().toJSON(要转换的对象);
示例:

Book b = new Book();
String json = new Gson().toJson(b);

(2)将JSON字符串转换为对象

将JSON字符串转换为对象的步骤:在需要转换Java对象的位置,编写如下代码即可。(也要先引入JAR包)
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
示例:

String json = "{\"id\":1,\"name\":\"语文\",\"info\":\"一二三四五\"}";
Book book = new Gson().fromJson(json, Book.class);

2.FastJson

faston是由阿里巴巴工程师基于JAVA开发的一款JSON解析器和生成器,可用于将Java对象转换为其JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象。

(1)将对象转换为JSON字符串

转换JSON字符串的步骤:在需要转换JSON字符串的位置编写如下代码即可。(要先引入JAR包)
String json=JSON.toJSONString(要转换的对象);
示例:

Book b = new Book();
String json = JSON.toJSONString(b);

(2)将JSON字符串转换为对象

将JSON字符串转换为对象的步骤:在需要转换Java对象的位置,编写如下代码即可。(也要先引入JAR包)
(1)类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
(2)List<类型> list=JSON.parseArray(JSON字符串,类型.class);
示例:

String json = "{\"id\":1,\"name\":\"语文\",\"info\":\"一二三四五\"}";
Book book = JSON.parseObject(json, Book.class);

总结

以上就是今天要讲的内容,本文仅仅简单介绍了JSON的格式,以及如何与对象之间的转换使用,而要深刻的了解JSON,以及熟练的掌握JSON是非常重要的,还需要在实战中去学会使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值