JSON,全称是JavaScript对象批注,即JavaScript对象批注。
JSON是一种轻量级的、基于文本的、人类可读的格式。
虽然JSON的名字中有JavaScript,但这意味着它的语法规则引用了JavaScript对象,而不是说它只能在JavaScript语言中使用。
JSON非常方便人和机器的读写,而且它的文件比XML(另一种常见的数据交换格式)小,所以很快成为互联网上非常流行的交换格式。
近年来,JavaScript已经成为浏览器中事实上的标准语言,JavaScript的流行与JSON的流行息息相关。
因为JSON本身是参照JavaScript对象的规则定义的,所以它的语法和JavaScript定义对象的语法几乎完全一样。
JSON的创始人声称这种格式永远不会升级,这意味着这种格式具有长期稳定性。10年前写的文件,10年后就可以用了,没有任何兼容性问题。
JSON的语法规则非常简单,堪称“优雅完美”。总而言之:
该数组由方括号(“[]”)表示。
对象(0 object)由大括号(“{}”)表示。
名称/值对组合成数组和对象。
该名称位于双引号,值为字符串、数值、布尔值、null、对象和数组.
并行数据用逗号(“,”)分隔。
{
名称' : 'xdr630 ',
最喜欢的' : '编程'
}
JSON经常与XML进行比较,因为JSON的诞生或多或少意味着要取代XNL。与XML相比,JSON具有以下优势:
无尾标,长度更短,读写更快。
可以通过JavaScript解释器直接解析。
您可以使用数组。
两者比较。
JSON:
{
名字叫' : '很迷人,
年龄' :22,
水果' :['苹果','梨','葡萄']
}
XML:
根
名字在动/名字。
22岁/年龄
水果
水果矛/水果
水果油菜/水果
/root
在JavaScript中,有两种方法与此相关: JSON.parse和JSON.stringify。
以及JSON和JS对象。
要实现从JSON字符串到JS对象,的转换,请使用JSON.parse()方法:
脚本
Var=' { ' name ' : ' moving ',' age ' :22 }
var obj=JSON . parse(str);
console . log(obj);
/script
从.认识到
>JS对象转换为JSON字符串,使用 JSON.stringify() 方法:<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
var jsonstr = JSON.stringify(obj);
console.log(jsonstr);
</script>


1、对象(0bject)
[1,2,"three","four",true,false,null,[1,2],{"name":"兮动人"}]

3、名称/值对(Name/Value)
字符串(string)的规则如下:
{
"string":" " "
}

{
"number":1e3,
"n1":1e2,
"n2":-100
}


1、 eval()
<script>
var str = "console.log('hello')";
eval(str);
</script>

<script>
var str = '{"name":"兮动人","age":22}';
var obj = eval("("+str+")");
console.log(obj)
</script>

2、JSON. parse()
案例:JSON字符串转换为JS对象
<script>
var str = '{"name":"兮动人","age":22}';
var obj = JSON.parse(str)
console.log(obj)
</script>

案例:
<script>
var str = '{"name":"兮动人","age":22}';
var obj = JSON.parse(str,fun);
function fun(name,value){
console.log(name+":"+value);
return value
}
console.log(obj)
</script>

<script>
var str = '{"name":"兮动人","age":22}';
var obj = JSON.parse(str,fun);
function fun(name,value){
if (name == "age")
value = 14;
return value
}
console.log(obj)
</script>


1、参数的含义
JSON.stringify(value[, replacer[, space]])
案例:
<script>
var obj = {
name: "兮动人",
age: 22
};
console.log(obj);
var jsonstr = JSON.stringify(obj,fun);
function fun(name,value) {
if (name=="age")
value = 18;
return value;
}
console.log(jsonstr)
</script>

<script>
var obj = {
a: 1,
b: 2,
c: 3,
d: 4
};
console.log(obj);
var jsonstr = JSON.stringify(obj,["a","b","c"]);
console.log(jsonstr)
</script>

var jsonstr = JSON.stringify(obj,["c","a","b"]);

2、value的用法
<script>
var obj = {
name: "兮动人",
age: 22
}
console.log(obj);
var jsonstr = JSON.stringify(obj);
console.log(jsonstr)
</script>

<script>
var obj = {
name: "兮动人",
age: 22,
a: undefined,
f: function () {
},
b:[function () {}]
}
console.log(obj);
var jsonstr = JSON.stringify(obj);
console.log(jsonstr)
</script>

3、replace的用法
4、space的用法
<script>
var obj = {
a: 1,
b: 2,
c: 3,
d: 4
};
console.log(obj);
var jsonstr = JSON.stringify(obj,["c","a","b"],"one");
console.log(jsonstr)
</script>

<script>
var obj = {
a: 1,
b: 2,
c: 3,
d: 4
};
console.log(obj);
var jsonstr = JSON.stringify(obj,["c","a","b"],"t");
console.log(jsonstr)
</script>

