JSON简介
- JSON: JavaScript Object Notation(JavaScript 对象表示法);轻量级数据交换格式、非常适合于服务器与 JavaScript 的交互。
JSON就是不同系统之间、前后端之间、不同语言之间进行数据交互所遵守的一种数据的格式。
JSON语法
1、JSON语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在键/值对中
- 数据由逗号分隔
- 大括号保存对象
- 中括号保存数组
json格式:
- 对象和Map 转换成
{key:value , key:value,...}
- 数组和集合转换成
[e1,e2,e3,...]
-
2、JSON 键/值对
JSON 数据的书写格式是:键/值对。
键/值对:包括字段名称(在双引号中),后面写一个冒号,然后是值:
{“name” : “value-ityg”}
这很容易理解,等价于这条 JavaScript 语句:
name = “value-ityg”2、JSON 值
JSON 的值可以是:
数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在中括号中)
- 对象(在大括号中)
- null
在javascript语言中怎么创建一个json对象呢?语法是什么?
var jsonObj = {
“属性名1” : 属性值,
“属性名2” : 属性值,
“属性名3” : 属性值,
};
注意:属性名必须是字符串
JSON格式转换
前端JS对象与JSON格式转换
- JS对象转换成JSON格式字符串
//创建JS对象
var obj = {stuNum:"10001",stuName:"张三"};
obj.stuGender = "男";
//将JS对象转换成json格式字符串
var jsonStr = JSON.stringify(obj);
将JSON格式字符串转换成JS对象
//方式一:注意这个方法需要在两边加上一个小括号
var obj2 = eval("("+jsonStr+")");
//方式二
var jsonObj = JSON.parse(jsonStr);
后端Java对象与JSON格式转换
需使用JSON工具:FASTJson、GSon 、JackSon
使用FastJson: ```java //创建一个User对象 User libai = new User(“李白”, 10000, “喝酒”);
// 将以上的User对象转换成json格式的字符串 // 使用阿里巴巴的fastjson组件中的JSON类即可,调用toJSONString(Object obj)方式。 String jsonStr = JSON.toJSONString(libai);
// List集合是否可以转换成数组
ArrayList
- 使用GSon:
```java
//要求:json格式的字符串中的key 要和目标Java对象属性一致
Gson gson = new Gson();
Student student = gson.fromJson(str, Student.class);
Student stu2 = new Student("10006","Lucy","女");
String jsonStr = gson.toJson(stu2);