- 一、JSON介绍
- 1.语法规则
- 2.Google浏览器插件
- 二、Java对象和JSON互转
- 1.Java对象转化为JSON
- 1.1使用Java类库
- 1.2使用fastjson
- 2.JSON转化为Java对象
- 3.封装JSONUtils工具类(重点)
- 三、JS对象和JSON互转
- 1.JSON转JS对象
- 2.JS对象转JSON
一、JSON介绍参看:
- 视频:https://www.bilibili.com/video/BV1Pt411u7R3
- 菜鸟教程:
https://www.runoob.com/json/json-tutorial.html
https://www.runoob.com/w3cnote/fastjson-intro.html
(Javascript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率(HTTP协传输文本信息)。
JSON常用于前后端交互数据和数据存储,XML常用于配置环境。
Javascript成为浏览器上事实上的标准语言,这与JSON 的流行也有密切的关系。
1.语法规则JSON 的语法规则十分简单,优雅完美,总结起来有:
- 数组(Array)用方括号([])表示(数组里存放多个对象)。
- 对象(0bject)用大括号({})表示。
- 名称/值对(name/value)组合成数组和对象。
- 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
- 并列的数据之间用逗号(,)分隔。
数据示例:
{
"name":"zhangsan",
"age":21,
"parents":[
{
"role":"father",
"name":"wanger",
"age":50
}
,{
"role":"mother",
"name":"mazi",
"age":50
}
]
}
2.Google浏览器插件
FeHelper开发者工具。
建议装上这个JSON插件,浏览器会自动识别json数据,自动格式化,它功能非常强大。
同时,它还支持诸多功能(工具截图):
极大的方便了开发人员。
二、Java对象和JSON互转 1.Java对象转化为JSON 1.1使用Java类库
com.fasterxml.jackson.databind.ObjectMapper
Map1.2使用fastjsonmap = new HashMap<>(); for (int i = 0; i < 5; i++) { map.put(i*2+"key",i*i+"val"); } // 使用java类库 throws JsonProcessingException String json2 = new ObjectMapper().writevalueAsString(map); System.out.println(json2);
需要借助这一个依赖包,不知道版本选多少合适,就去maven官网查看一下,【点击我跳转到maven官网】如果不使用maven开发,直接在maven官网下载jar包导入也是可以的,当然不推荐这样做。
导入依赖
com.alibaba fastjson 1.2.78
示例
Map2.JSON转化为Java对象map = new HashMap<>(); for (int i = 0; i < 5; i++) { map.put(i*2+"key",i*i+"val"); } // 测试 Java对象转换为json String josn1 = JSON.toJSONString(map); System.out.println(josn1);
这里为了方便,只提供了fastjson类库中把JSON转化为Java对象的方法。
fastjosn类库里面有很多的方法把json转化为Java对象,下面提供两种常见的方法。
// 1.转化为JSONObject JSONObject jsonObject = JSONObject.parseObject(json); // 2.转化为指定的对象 假设已定义User实体类 User user = JSON.parseObject(userJson, User.class);3.封装JSONUtils工具类(重点)
封装好此工具类后,直接调用即可
public class JSONUtils {
public static String toJSON(Object obj){
String json = JSON.toJSONString(obj);
return json;
}
public static Object JsonToObject(String json){
JSONObject jsonObject = JSONObject.parseObject(json);
return jsonObject;
}
}
三、JS对象和JSON互转
作为一个后端开发人员,不可避免的会涉及到JS对象与JSON数据的互转,下面就提供一些简单的数据互转。
1.JSON转JS对象JS对象是Javascript语言封装的数据,JSON是纯字符串。
格式:JSON.parse(test[,reviver]),示例:
var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
2.JS对象转JSON
格式:JSON.stringify(value[, replacer[, space]]),示例:
var json = JSON.stringify('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');



