发表于: 2022-06-18 18:54:44
1 555
json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,
同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。
Json,是一种轻量级的数据交换格式,易于阅读、编写,同时也易于机器解析和生成,并有效的提升网络传输效率。
而数据传输是前后端交互的关键,给数据一个统一的格式有利于我们编写和解析数据。所以json在数据交互中有较为广泛的应用。
在Json出现之前,大家都在用xml来传递数据,因为xml是一种纯文本格式,所以适合在网络上交换数据。xml本身并不复杂,
但是加上DTD、XSD等一大堆复杂的规范后,就会很让人头疼。所以在Json出现后,因为其简单、方便,很快就普及了。
Json的语法规则:
数组(Array)用方括号(“[]”)表示。
对象(Object)用大括号(“{}”)表示。
键值对(name/value)组合成数组和对象。
name置于双引号中,value有字符串(在双引号中)、数字(整数/浮点数)、布尔值、null、对象(在花括号中)和数组(在方括号中)。
其中并列的数据用逗号(“,”)分隔。
那么Json生成的方式有哪些呢?为什么推荐使用JsonTaglib来处理Json?
Json生成方式有三种:
① 使用json工具类库转化生成,如FastJson(阿里巴巴)、Gson(谷歌)、Jackson等;
② 使用注解ResponseBody返回java对象或集合,自动转化生成;
③ 使用JsonTaglib在jsp中设置字段或者嵌套生成。
那为什么推荐使用JsonTaglib来处理Json呢?
因为使用JsonTaglib与其他的最大区别就是更加灵活,修改更加方便,只需要在jsp中修改即可,不需要修改controller中的代码。
并且,在项目简单的情况下,controller中的代码简洁度并不明显,但是当项目复杂时,可以很清晰的认识到代码的简洁、易读。
而这其实也就是Json诞生原因之一。
JSONObject是将Java对象转换成一个json的Object形式,JSONArray是将一个Java对象转换成json的Array格式。
1.JSON的2种结构形式
1、键值对形式
示例:
{
"userid": "1111",
"username":"阿雨",
"age": "20",
"mobile": 12363287226,
"interest": ["听音乐"],
"address": "四川 成都"
}
这种结构的JSON数据规则是:一个无序的“‘名称/值’对”集合。一个对象以 {左括号 开始, }右括号 结束。每个“名称”后跟一个 :冒号 ;“‘名称/值’ 对”之间使用 ,逗号 分隔,。
2、数组形式
因为大多数时候大家用的JSON可能都是上面那种key-value形式,所以很多人在讲解JSON的时候总是会忽略数组形式,这一点是需要注意的。
示例:
["pig", 18, "man", "江西省抚州市崇仁县"]
数组形式的JSON数据就是值(value)的有序集合。一个数组以 [左中括号 开始, ]右中括号 结束。值之间使用 ,逗号 分隔。
sp文件代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
{
模拟数据:
"userid": "1111",
"username":"阿雨",
"age": "20",
"mobile": 12363287226,
"interest": ["听音乐"],
"address": "四川 成都"
}
<h1>我的第一个 JavaScript</h1>
<p>
JavaScript 能够对事件作出反应。比如对按钮的点击:
</p>
<button type="button" onclick="alert('欢迎!')">点我!</button>
</body>
</html>
不用JSON Tag-lib直接使用spring返回 json对象 postman返回数据
收获:以上
明天计划:完成接下来的任务。
评论