一分钟看懂json

作者: HarryPang | 来源:发表于2017-04-14 17:54 被阅读163次

    json是什么?其实很简单,json(JavaScript Object Notation)javaScript 对象表示法 是一种存储数据的方式,json比xml更快更好用
    xml和json类似之处:
    JSON 是纯文本
    JSON 具有“自我描述性”(人类可读)
    JSON 具有层级结构(值中存在值)
    JSON 可通过 JavaScript 进行解析
    JSON 数据可使用 AJAX 进行传输
    xml和json不同之处:
    没有结束标签
    更短
    读写的速度更快
    能够使用内建的 JavaScript eval() 方法进行解析
    使用数组
    不使用保留字

    第一步:创建json对象
    var xiaomin = { "name" : "小敏", "age" : 6};
    这样就创建了一个JSON 对象
    JSON对象由 名称/值对组成 名称和值之间用冒号:隔开
    名称必须用双引号" 包含起来
    值可以是任意javascript数据类型,字符串,布尔,数字 ,数组甚至是对象
    不同的名称/值对之间用 逗号 , 隔开

    注意这里:xiaomin是一个对象!!!

    第二步:访问json对象

    <script>
    var xiaomin = { "name"  :  "小敏",   "age" : 6}; 
     
    document.write("名字: " + xiaomin.name + "<br>");
    document.write("年龄: " + xiaomin.age + "<br>");
    </script>
    

    json数组的创建,访问(和访问数组的方式一样,通过下标)

    //创建json数组
    var heros= 
    [
        {"name":"盖伦","hp":616},
        {"name":"提莫","hp":313},
        {"name":"死哥","hp":432},
        {"name":"火女","hp":389}
    ]
     //访问数组
    document.write( "第4个英雄是:" +  heros[3].name);
    

    结果是:火女

    第三步:json字符串与javascript对象的转换

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

    <script type="text/javascript">
    var txt = '{"employees":[' +
    '{"firstName":"Bill","lastName":"Gates" },' +
    '{"firstName":"George","lastName":"Bush" },' +
    '{"firstName":"Thomas","lastName":"Carter" }]}';
    
    var obj = eval ("(" + txt + ")");//一句话搞定
    
    document.getElementById("fname").innerHTML=obj.employees[1].firstName 
    document.getElementById("lname").innerHTML=obj.employees[1].lastName 
    </script>
    

    相关文章

      网友评论

      • JasonVincent:不是火女,是安妮。前面是英雄名,后面是战绩吗:fearful:
        HarryPang:@宋开开 hhhh,老司机
        宋开开: @JasonVincent 没看到写hp吗?😅

      本文标题:一分钟看懂json

      本文链接:https://www.haomeiwen.com/subject/dmqgattx.html