首页 > Web开发 > 详细

json入门

时间:2019-07-21 11:04:27      阅读:67      评论:0      收藏:0      [点我收藏+]

注意事项:

  • json中只能使用双引号;
  • json数据的值可以不能是undefined;
  • 不能存储Date类型的数据,要把它转为字符串,再转回来
var text = { "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"};
var obj = JSON.parse(text);
obj.initDate = new Date(obj.initDate);
 
document.getElementById("demo").innerHTML = obj.name + "创建日期: " + obj.initDate;
  • JSON 不允许包含函数,但你可以将函数作为字符串存储,之后再将字符串转换为函数
var text = { "name":"Runoob", "alexa":"function () {return 10000;}", "site":"www.runoob.com"};
var obj = JSON.parse(text);
obj.alexa = eval("(" + obj.alexa + ")");
 
document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();
  • json.parse(a,b)  将json字符串转化为json对象(ie8及以上)
  • json.stringify()  将json对象转化为字符串(ie8及以上)

(JSON.stringify() 会将所有日期转换为字符串;JSON 不允许包含函数,JSON.stringify() 会删除 JavaScript 对象的函数,包括 key 和 value,我们可以在执行 JSON.stringify() 函数前将函数转换为字符串来避免以上问题的发生------不建议在 JSON 中使用函数。)

  • 由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

    eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

    var obj = eval ("(" + txt + ")");
    var txt = { "sites" : [ +
    { "name":"菜鸟教程" , "url":"www.runoob.com" }, +
    { "name":"google" , "url":"www.google.com" }, +
    { "name":"微博" , "url":"www.weibo.com" } ]};
     
    var obj = eval ("(" + txt + ")");
     
    document.getElementById("name").innerHTML=obj.sites[0].name 
    document.getElementById("url").innerHTML=obj.sites[0].url

     

json入门

原文:https://www.cnblogs.com/cui-ting/p/11220455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!