1. 什么是json?
是一种轻量级的数据交换格式。
什么是轻量级? 体现在json体积小。虽然体积小可表示的数据很多。
什么是数据交换? C语言和JAVA语言之间数据交换等。
例子:C语言查询数据库之后,拼接了xml文件中的一个xml格式的字符串。
C语言通过网络的方式传给了JAVA。
JAVA语言接受到这个xml字符串之后,开始解析XML,获取XML中的数据。
这样就完成了交换。
在现代开发中,能够做到数据交换的,包括两个:
JSON XML(体积大,解析难度大)
2. 在JS中,json是以对象的形式存在的
3. 在JS中,怎么定义JSON格式的对象,怎么访问对象的属性呢?
语法格式:
var jsonObj = {
''属性名'' : ''属性值'',
''属性名'' : ''属性值'',
}
注意:属性值可以是任意类型; json是一种无类型对象,直接一个大括号抱起来。
访问格式:
var jsonObj = {
''empno'' : ''2222'',
''name'' : ''smith'',
}
console.log(jsonObj.name)
console.log(jsonObj.empno)
或者:
console.log(jsonObj . [''name''])
console.log(jsonObj.[''empno''])
4. 在JS中[ ]和{ }有什么区别?
[]是数组对象;
{}是JOSN对象。
5. JAVA传过来的是一个字符串怎么变成JSON对象呢?
Java的JDBC连接数据库查询数据,然后将数据拼接成JSON格式的字符串,将JSON格式的字符串传给JavaScript,然后在JS中吧JSON格式的字符串转换成JSON对象,这样就可以从JSON对象中取数据了,完成了数据的交换。
// 需要将JSON格式的字符串转换成JSON对象
eval 函数可以将一个字符串当作一段JS代码解释执行
window. eval()
6.JSON字符串的替换
工作经常遇到这样的字符串,如下
需要经过替换后,才能从字符串转化成JSON对象。这里我们需要用JS实现replaceAll的功能, 将所有的 ’ \" ’ 替换成 ’ " ’ .
代码如下,这里的gm是固定的,g表示global,m表示multiple:
var jsonStr=jsonStr.replace(new RegExp('\\"',"gm"), '"' );
替换后效果如下: