json对象:
如果这个数据是json对象;那么它一定是js对象;
如果这个数据是js对象,它不一定是json对象;
json对象中,有几种数据类型不支持;
var obj={
"a":1;
"b":"xy",
"c":true,
"d":undefined,
"e":NaN,
"f":null,
"g":function(){},
"h":[0,1],
"i":{'x':0,'y':1'}
}
console.log(obj.g()); //调用对象中的函数;
var str = JSON.stringify(obj); //json方法转变为一个字符串;
//console.log(str);
var obj2 = JSON.parse(str);
console.log(obj2); //这里将字符串转换为一个对象;
在json中不能接受undefined,function(){};类型并且会将NaN数据类型转换为null的类型;
对于空的类型null我们是取不到的。null是js的一开始的错误,后来被沿用了。
JSON字符串
var str = ‘{"a":1,"b":2}’;
//console.log(typeof(str),str);
//将json字符串,转为json对象
var obj = JSON.parse(str);
console.log(typeof(obj),obj);
eval();方法的作用,将参数字符串,转换为js表达式去执行出结果JSON方法
eval("1+2") //会返回一个值==3,其中进行相加
eval("[1,2]"); // == [1,2]
//字符串
var str = '{"a":1,"b":2,"c":undefined}';
console.log(typeof(str),str);
//将字符串转换为js对象;
var obj = eval("("+str+")");
console.log(type(obj),obj);//需要使用括号将所要输出的字符串进行拼接;来输出;
在JSON 字符串中属性名称,必须用双引号包裹
//var str = '{"a":1}';
var obj = JSON.parse(str);
console.log(obj);
var a='b';
var obj = {
"a ":10;
"b":5
}
//console.log(obj.a);//10
//console.log(obj["a']); //10
//console.log(obj['a']);//10
console.log(obj[a]);//a is not defined;
var a='b';
var obj = {
"a ":10;
"b":5
}
console.log(obj[a]);//10 因为这里我们收到了一个var a 的值传递;
// js对象
// 构造函数创建对象
//var obj = new Object();
// 字面量(直接量)创建对象
//var obj = {};
//console.log( typeof(obj), obj );
// 创建带有初始值的对象
// 在js对象中,属性可以直接写,也可以加引号(即可以是单引号,也可以是双引号)
// 在json对象中,属性必须使用双引号
// 每一个属性,是由键值对组成,所谓的键,就是属性名称;所谓的值,就是属性值
// 成员的长度不限制,类型不限制
/*