关注Java架构栈,干货天天都不断哦!

JSON概述

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构,使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

java中json对象转数组_java对象转json对象_java对象转json对象

Js中的数组和对象?

数组:[1,2,3]

对象:{name:”张三”, age: 20}

复杂数组:[{name:”张三”, age: 20}, {name:”李四”, age: 30}, 1]

复杂对象:{total:50, data: [{name:”张三”, age: 20}, {name:”李四”, age: 30}]}

Json本质:特殊格式的字符串,特殊在字符串的结构,和js中的数组和对象一样一样的!

数组:[1,2,3]数组格式的json串:”[1,2,3]”

对象:{name: “张”, age: 20}

对象格式的json串:'{name: “张”, age: 20}’

数组中放对象:[{id:”11″,name:”北京”}, {id:”12″,name:”成都”}]

数组中放对象的json格式:'[{id:”11″,name:”北京”}, {id:”12″,name:”成都”}

为什么需要JSON

ajax就是通过js代码,完成和后台数据的交互,但是,往往后台响应的结果的数据格式都比较复杂,例如List、Map等,这些数据js是不能够识别的,因为js和java是不同的语言!

因此需要一种通用的数据格式,即一种通用的“语言”!如xml、json,这两个本质还是字符串!任何语言都支持字符串!

json是为了完成前台和后台的复杂数据交换的中间桥梁!

Java:List ===> json ===> 响应给ajax ===> 把json转js对象或数组 ===> 通过DOM技术操作页面元素

java对象转json对象_java对象转json对象_java中json对象转数组

java对象转json对象_java中json对象转数组_java对象转json对象

json和js对象的区别:唯一的区别是json是字符串,不可以直接调用字符串的属性来获取json中的“属性”对应的值,如果想获取到json字符串中的属性的值,需要先将json转换为js对象。

后台的List、Map、User、数组等对象可以转换为json格式的字符串,然后使用js将json字符串转换为js对象,然后操作这些数据,最终达到无刷新更新页面中的部分内容。

JSON与JS对象之间的相互转换

1.JSON转JS对象1.1 使用JS中的内建函数eval转换

java对象转json对象_java对象转json对象_java中json对象转数组

java对象转json对象_java中json对象转数组_java对象转json对象

eval函数,不仅可以将json格式的字符串,转换为js对象,还可以用于一些计算,和js代码的动态拼接

java对象转json对象_java中json对象转数组_java对象转json对象

由于eval函数可以解析js代码java对象转json对象,并执行,因此存在风险。

1.2 使用JSON对象将JSON字符串转换成JS对象

var txt = "[1,23]";
var arr = JSON.parse(txt); // 将json串转换为js对象
var txt = JSON.stringify(arr); // 将js对象转换为json串,调试的时候,方便查看对象的结构

JSON对象:浏览器自带的一个JS对象,对象中有一些方法可供使用

java对象转json对象_java对象转json对象_java中json对象转数组

使用JSON对象中的parse方法可以将json字符串转换成js对象java对象转json对象,但是JSON对象对json字符串的格式要求比较严格:key值一定要使用双引号引起来,字符串类型的值也必须要使用双引号

js对象 ===> json字符串:JSON.stringify(js对象);

2.js对象转JSON

有时我们需要查看对象的结构!一般采用的方式是alert(obj),但是只能看到下图所示的样子:

java中json对象转数组_java对象转json对象_java对象转json对象

将js对象转换成json字符串的方法JSON.stringify(obj),方便查看对象的结构!

java对象转json对象_java中json对象转数组_java对象转json对象

总结

以上就是波哥对JSON技术的大概总结,希望能让你有所收获哦!还有什么问题的小伙伴可以私信波哥哦!

END

近期课程上新:

Java基础|Javaweb基础|Java高级框架|微服务架构|TiDB分布式数据库入门最佳实践|VUE全面剖析及前后端联动实战|23种设计模式|企业级项目实战|Java面试宝典

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688