json对象

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对象中,属性必须使用双引号
// 每一个属性,是由键值对组成,所谓的键,就是属性名称;所谓的值,就是属性值
// 成员的长度不限制,类型不限制
/*
原文地址:https://www.cnblogs.com/l8l8/p/8698317.html