1.什么是JSON?

  • JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
  • JSON 比 XML 更小、更快,更易解析。
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解

2.语法格式

相较于Java、JavaScript和xml,json的语法格式显得更加轻便,因此得到大多数年轻程序员的喜爱,四种语言格式对比如下:

#java#class Book{private String name;private String info;数组格式
案例get/set...
}Book b = new Book();b.setName(“白雪公主和大灰狼”);b.setInfo(“他们幸福地生活在了一起”);
—————————————————————————————————————————————
#js#var b = new Object();b.name = "白雪公主和大灰狼";b.info = "他们幸福地生活在了一起";
——————————————————————————————————————————————
#XML#
<book><name>白雪公主和大灰狼</name><info>他们幸福地生活在了一起</info>
</book>——————————————————————————————————————————————
#JSON#
{
"name":"白雪公主和大灰狼",
"info":"他们幸福地生活在了一起"
}一个对象, 由一个大括号表示。括号中 描述对象的属性 . 通过键值对来描述对象的属性
(可以理解为, 大括号中, 包含的是一个个的键值对.)格式:
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解
析.)
键值对的值, 可以是JS中的任意类型的数据

除此之外,还有数组的格式,如下:

#在JSON格式中可以与对象互相嵌套  [元素1,元素2...]{
"name":"爷爷",
"age":88,
"huluwa":["大娃","二娃","三娃","四娃","五娃","六娃","七娃"{
"name":"穿山甲",
"info":"会刨洞"
}],
"妖精":{
"name":"蜈蚣精",
"hobby":"蛇精"
}
}

3.如何使用JSON?

使用JSON可以有两种途径,一个是导入谷歌的GSON.jar文件到IDEA的project下的lib包,二是导入阿里巴巴的fastjson.jar文件,执行方式同前步骤。

jar文件百度网盘:https://pan.baidu.com/s/1SjR8xXnNz40ERILdBgpQzA 提取码:1vfc

以GSON为例:接下来,你可以通过序列化将对象转换为JSON字符串

#添加一个Book的对象层
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);

也可以反序列化将JSON字符串重新转换为对象

#将显示的JSON字符放入等于号右边的双引号内会自动形成下面格式String json = "{\"id\":1,\"name\":\"白雪公主和大灰狼\",\"author\":\"小矮人
\",\"info\":\"他们最终幸福地生活在一起\",\"price\":299.0}";Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);

以fastjson为例,序列化:

转换JSON字符串的步骤:String json=JSON.toJSONString(要转换的对象);案例:
Book b = BookDao.find();
String json=JSON.toJSONString(b); #区别点在此 GSON是新new了一个GSON对象的toJson()方法
System.out.println(json);

反序列化

类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例:String json = "{\"id\":1,\"name\":\"白雪公主和大灰狼\",\"author\":\"小矮人
\",\"info\":\"他们最终幸福地生活在一起\",\"price\":299.0}";Book book = JSON.parseObject(json, Book.class);
System.out.println(book);

有关JSON和介绍和使用相关推荐

  1. 微信小程序 app.json 详细介绍

    微信小程序 app.json 详细介绍 {// 写各个页面的路径 (新增页面或者减少页面都要对其进行修改)"pages": ["pages/index/index&quo ...

  2. 常用json框架介绍和Jackson返回结果处理

    常用json框架介绍和Jackson返回结果处理     简介:介绍常用json框架和注解的使用,自定义返回json结构和格式 1.常用框架 阿里 fastjson,谷歌gson等         J ...

  3. JSON+JSON5介绍

    文章目录 JSON使用介绍 1.简介 2.JSON语法规则 3.JSON文件 4.访问\修改\删除数据 4.1 操作对象数据 4.2 操作数组数据 5.常用的对象-JSON字符串互转的方法 5.1 J ...

  4. 常用文件类型 -- JSON文件介绍

    文章目录 JSON文件介绍 1.1 什么是JSON 1.2 JSON语法规则 1.3 JSON举例 1.4 JSON和XML比较 1.4.1 XML的优缺点 1.4.1.1 XML的优点 1.4.1. ...

  5. Java 常见JSON框架介绍

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.其简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,同时也易于机器解析和生成, ...

  6. Jackson与Json的介绍与使用

    目录 1 JSON 2 JSON转换工具的介绍 3 JSON转换练习 4 小结 5 map对象套对象 6 JSON时间类型按标准返回 1 JSON 推荐一个小工具:CSDN插件可以将后端返回的json ...

  7. JSON JOLT介绍 及语法详解-shift篇

    有很多同学跟我反映  博客里的很多图都没了,真的很抱歉: 目前CSDN这里的博客不会再维护了,关于NIFI的文章会陆续在 https://nifichina.gitee.io https://nifi ...

  8. JSON数据格式介绍

    JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同一时候也易于机器解析和生成.它基于ECMA262语言规范(1999-12第 ...

  9. manifest.json文件介绍

    {// 必须"manifest_version": 2, // 清单文件的版本,这个必须写,而且必须是2"name": "My Extension&q ...

最新文章

  1. 【牛腩新闻发布系统】开始前端03
  2. php iis6 安装ssl证书,在IIS下部署SSL证书实现HTTPS
  3. libtorch error C1021: 无效的预处理器命令“warning”
  4. java日志模块_Java源码初探_logging日志模块实现
  5. python的os模块基本使用
  6. lc 115. Distinct Subsequences
  7. ie系列浏览器_IE浏览器换Logo,真担心你上网找不到图标
  8. Python:学习笔记
  9. tina中信号带宽_如何理解选择示波器带宽的5倍法则 ?
  10. 加服务器虚拟机软件,服务器虚拟机软件
  11. Atitit 软件 开发 与互联网发展趋势 与一些原则 潮流就是社区化 o2o 各种服务化 xaas ##--------信息化建设的理念 1.1.兼容性(不同版本与项目兼容性有利
  12. 玩玩直播,搭建一个流媒体服务器
  13. 微信获取unionid
  14. Vue框架Element UI+Mint UI教程汇总
  15. Centos7安装maven
  16. 如何用软件测试固态颗粒,【英睿达 BX500固态硬盘使用总结】颗粒|读写速度|写入测试|建议_摘要频道_什么值得买...
  17. 量化基金投资之Alpha策略简介
  18. 链家网租房信息数据分析——从爬虫到房租预测
  19. RocketMQ Message相关命令【实战笔记】
  20. WORD如何使得公式居中,公式编号右对齐?

热门文章

  1. Anaconda conda常用命令:从入门到精通
  2. 码云推荐 | 那些优秀的网络爬虫工具介绍
  3. 机器学习————神经网络
  4. 给下拉框加上可输入查询特性-升级版本
  5. 酷我音乐歌手写真接口分享
  6. SNMP中的MIB是什么? 讲解如何进行SNMP MIB的查看
  7. kubernetes1.6中redis-mong-zookeepe-rabbitmq集群部署
  8. 分享一个简单、便宜配置https安全证书的方法(10元/年)
  9. 公司官网建站笔记(五):域名工信部备案完整流程并解析公网访问
  10. 语音编码标准(G.711 G.723 G.726 G.729 iLBC) .