一、JSON简介
1、什么是JSON
JSON是行业使用广泛的一种数据格式。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简单地说,JSON可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比 “名称 / 值对” 更复杂的结构。
总结什么是 JSON ?
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation);
JSON 是轻量级的文本数据交换格式;
JSON 独立于语言 *;
JSON 具有自我描述性,更易理解。
* JSON 使用 JavaScript 语法来描述数据对象(JSON 语法是 JavaScript 对象表示法语法的子集),但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。
JSON的优点:易于人的阅读和编写,方便程序解析与生成。
2、JSON语法结构
标准的JSON数据表示
数据结构
Object:使用花括号 {} 包含的键值对结构,key必须是string类型,value为任何基本类型或数据结构,逗号分隔数据。
Array:使用中括号 [] 来表示,并用逗号来分隔元素。
基本类型:string、number、true、false、null。
简单实例(first.json)
{
"name" : "张三",
"age" : 25,
"birthday" : "1994-12-12",
"school" : "西安电子科技大学",
"major" : ["Java", "C++"],
"has_house" : false,
"house" : null,
"car" : {
"sign" : "奔驰",
"model" : "SUV"
},
"comment" : "标准JSON里面没有注释"
}
二、使用Java操作JSON
使用Java操作JSON可以使用org.json包(Android SDK中使用的JSON官方库),在JSON的官网:http://www.json.org/ 中可以找到。使用Maven项目则添加如下依赖即可:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
1、创建JSON对象的几种方式
import java.util.HashMap;
import java.util.Map;
import org.json.JSONObject;
import com.zxt.demo.Car;
import com.zxt.demo.Person;
public class JSONObjectTest {
public static void main(String[] args) {
jSONObject();
creatJsonByMap();
creatJsonByBean();
}
/**
* @Description:使用JSONObject来构建JSON对象
*/
private static void jSONObject() {
// 创建一个JSONObject对象
JSONObject zhangsan = new JSONObject();
Object nullObj = null;
zhangsan.put("name", "张三");
zhangsan.put("age", 25);
zhangsan.put("birthday", "1994-12-12");
zhangsan.put("school", "西安电子科技大学");
zhangsan.put("major", new String[] {
"Java", "C++"});
zhangsan.put("has_house", false);
zhangsan.put("house", nullObj);
JSONObject car = new JSONObject();
car.put("sign", "奔驰");
car.put("model", "S