您的位置:首页 > Web前端 > JavaScript

Json的解决方案

2016-04-10 00:00 591 查看
1:XML
<stud name=”Jack”>
<book>Java</book>
<book>Oracle</book>
</stud>

XML的最大的问题
1:解析比较复杂。
2:数据冗余太多。
2:JSON JavaScript Object Navigation -> Java对象
JSOn就是一种List/Map结构。
可以使用Json来表示上面的结构:
{name:’Jack’,books:[“Java”,”Oracle”]}

Json的结构:
1:List结构 –
声明: var json = [“Jack”,”Alex”,33,true,89.3]; //list
2:Map结构
声明: var json = {“name”:”Jack”,”age”:33,”married”:99};

var names = ["Jack","Mary","Alex"];
for(var i=0;i<names.length;i++){
console.log(names[i]);
}

//声明map
var stud = {"name":"Jack","age":33,"addr":"山东济南"};
//使用for--each
for(key in stud){
console.log(key+"="+stud[key])
}

Json字符串的转换:
var addrs = '["济南","北京","上海"]';//此值addr不是json对象,叫:JSON字符串。本质是一个字符串
console.log(addrs.length);//16
//将上面的值,转成json对象
addrs = eval("("+addrs+")");
console.log(addrs.length);//3

var str = "8*-9/6*(8-6/3)+(2/3)";
//可以使用eval让浏览器将上面的代码,当成一个脚本执行一次
var result = eval("("+str+")");
console.log(result);

var ss = "var email = 'wwww@qq.com';";//字符串,并不是email变量的声明
eval(ss);//执行
alert(email);

console.log("--------------------------");
var addrs = '["济南","北京","上海"]';//此值addr不是json对象,叫:JSON字符串。本质是一个字符串
console.log("没有转之前:"+typeof(addrs));
console.log(addrs.length);//16
//将上面的值,转成json对象
addrs = eval("("+addrs+")");
console.log("转完成以后:"+typeof(addrs));
console.log(addrs.length);//3

var str = "8*-9/6*(8-6/3)+(2/3)";
//可以使用eval让浏览器将上面的代码,当成一个脚本执行一次
var result = eval("("+str+")");
console.log(result);

var ss = "var email = 'wwww@qq.com';";//字符串,并不是email变量的声明
eval(ss);//执行
alert(email);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: