前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java和JavaScript中的JSON

Java和JavaScript中的JSON

作者头像
端碗吹水
发布2020-09-23 11:19:37
3.4K0
发布2020-09-23 11:19:37
举报
文章被收录于专栏:程序猿的大杂烩

JSON简介

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

JSON 相对于XML要轻量,XML就比较笨重了,所以现在很多数据传输都在逐渐转为使用JSON来作为传输数据的方式。

JSON 数据格式:键/值对

JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值,例如:

{“name”:”李四”}

数据写在大括号里,其中name是键,李四则是值。在Java里name相当于对象的属性,而李四则是这个属性的值。

Java中使用JSON

在Java中我们可以通过maven工程的pom.xml配置文件,来配置JSON的jar包,如果是普通的Java工程的话配置也很简单,只需要把JSON的jar包下好后导入即可。

在这只介绍在maven工程中使用JSON:

  1. 去maven的中央库找到JSON的依赖,网址:

http://mvnrepository.com/

3901
3901
3902
3902
3903
3903

保存配置文件就会根据配置的依赖,自动下载JSON包,下载完成后可以看到工程里有这样一个jar包:

3904
3904

以上这是JSON包里里面的主要内容。

下面我们来介绍一下,如何解析JSON和生成JSON:

  1. 生成JSON,想要把对象里的数据生成JSON,需要使用JSONObject类来生成,例如我现在有一个Student类:
3905
3905

这个类的实例化对象里设置了一些数据,现在我想要把这个对象里的数据生成为JSON格式,代码示例:

3906
3906

运行结果:

3907
3907

以上这个就是生成好的JSON数据格式,只需要给一个对象就能帮你把对象数据生成为JSON格式,这也是优于XML的一点,XML得自己去写标签结构。

  1. 解析JSON也很简单,例如我现在将上面示例生成的JSON拿来解析,还是使用JSONObject类:

代码示例:

3908
3908

运行结果:

3909
3909

很简单就获得了解析后的数据。

如果我现在给Student添加一个属性,这个属性能够存储Student对象,并将在这个属性进行封装:

3910
3910

然后实例化一个对象存储进去:

3912
3912

看看打印出来的JSON会是怎样的?运行结果:

3913
3913

可以看到,如果对象中存储了一个对象,那么在JSON的格式中就会再嵌套一个大括号来括起这个子对象里的数据。

  1. 除了可以将对象里的数据生成JSON格式外,还可以将数组对象里的数据生成为JSON格式,需要使用JSONArray这个类,生成后的JSON数据格式是用方括号括起来的。

代码示例:

3914
3914

运行结果:

3915
3915

和使用Arrays调用toString打印的差不多,只不过JSON格式多了双引号。

  1. 想要解析数组形式的JSON,同样的还是使用JSONArray这个类,也是直接把JSON格式的数据放进去就可以解析了。

代码示例:

3916
3916

运行结果:

3917
3917

以上就是如何在Java里生成、解析JSON的简单介绍。

JavaScript中使用JSON

下面介绍一下如何在JavaScript中生成和解析JSON,JSON本身就是基于JavaScript中的一个子集,在JavaScript语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等,但是对象和数组是比较特殊且常用的两种类型。和Java一样在JavaScript中转换成JSON的对象数据也是以键值对来表示,数组是以方括号来表示。

1. 生成JSON,在JavaScript中使用JSON对象调用stringify函数来生成JSON字符串,把对象放进stringify函数中,就可以将对象数据转换成JSON字符串,然后返回出来:

代码示例:

3918
3918

运行结果:

3919
3919

2. 解析JSON,在JavaScript中使用eval函数来解析JSON字符串,eval函数能够把字符串的内容当做JavaScript代码去执行,执行完后会返回一个字符串的结果。所以只需要把JSON格式的数据放入这个函数中,再声明一个变量来接收这个返回的字符串即可,但是要记得在JSON格式的数据外包裹一对小括号。

代码示例:

3920
3920

运行结果:

3921
3921

3. 将数组对象转换为JSON字符串,在JavaScript中还是使用JSON对象调用stringify函数来把数组对象转换为JSON字符串。

代码示例:

3922
3922

运行结果:

3923
3923

4. 解析数组形式的JSON,还是使用eval函数来解析,还是得加上小括号,和Java一样使用数组下标来拿值。

代码示例:

3924
3924

运行结果:

3925
3925

以上就是如何在JavaScript里生成、解析JSON的简单介绍。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档