前言:在日常工作中,我们常常会使用json做一些数据的处理,那了解json的一些基础知识和相关操作就尤为重要,本篇就是对于json格式的概括介绍和简单使用。
1、json格式简介
1.1 json基本信息
JSON:JavaScript Object Notation的简写,是一种轻量级数据交换格式。
数据类型:标量、序列(数组)、映射(key-value)
1.2 JSON的四个原则
1 、并列数据之间用逗号隔开
2、 映射用冒号:来表示
3 、并列数据的集合用中括号[]来表示
4、 映射的集合用大括号{}来表示
举例:
[
{"城市":"北京","面积":"16800"},
{"城市":"上海","面积":"6400"}
]
1.3、JSON的优点
1、 数据格式比较简单,格式是压缩的,占用带宽小
2、 支持Python等服务器端语言,便于服务器解析
1.4、JSON的缺点
1、字符集是Unicode
2、语法过于严格,遵守4个原则
2、js操作json实例
2.1 第一种方法:evel()
特点:安全性底,不建议使用,单个JSON对象时要加括号,JSON数组就不需要了
示例:
var evajson =eval('('+str+')'); var evajsarr = eval(t2);
转换后,再使用Object.prototype.toString.call() 来检测转换后的数据类型
console.log(Object.prototype.toString.call(evajso))//[object Object] console.log(Object.prototype.toString.call(evajsarr))//[object Array]
2.2 第二种:new Function()
注意:函数要有返回,所以要加“return”;
示例:
1 var fnjson = new Function("return"+str)(); 2 var fnjsonArr = new Function("return"+t2)();
转换后,再使用Object.prototype.toString.call() 来检测转换后的数据类型
1 console.log(Object.prototype.toString.call(fnjson ))//[object Object] 2 console.log(Object.prototype.toString.call(fnjsonArr ))//[object Array]
2.3 第三种:JSON.parse()
特点:主流,兼容性好,推荐
示例:
1 var parjson = JSON.parse(str); 2 var parjson = JSON.parse(t2);
检测转后的数据类型
1 console.log(Object.prototype.toString.call(parjson ))//[object Object]
2 console.log(Object.prototype.toString.call(parjson ))//[object Array]
3、java操作json
3.1 方法1:request请求
通过将request请求转换为String,再转换为对象进行操作
1 2 3 4 |
|
NoticeDo实体
1 2 3 4 5 |
|
3.2 方法2:对象
通过对象的形式,注意要把数据转化为json格式
1 2 |
|
NoticeReq 实体类
1 2 3 4 5 |
|
4、json其他注意事项
4.1 、josn存入mysql数据库
mysql数据库中可以定义json数据的基本样式,但在存储时会严格要求格式,多或少一个括号都要严格注意,否则就难以存入数据库,手动写数据存储时要严格注意。
此外,前端数据在写入后端时候,“”等字符串常常需要添加转译符\,这一点在我们使用postman输入存储json数据时要严格注意:
4.2、 json前端使用
json在前端通常准换为对象的形式,以便于数据的操作和修改,其主要的转换函数如下:
var obj1 = {"name":"测试对象","propetry":"12","propList":[]};
console.log("obj:",obj1); //查看初始化对象
var json =JSON.stringify(obj1) //将对象转换为为String,也就是json字符串
console.log("json:",json); //验证准换出来的json
let test = JSON.parse(json); //将json转换为对象
console.log("Sting:",test); //验证准换出来的对象
最后打印出来的实例: