zoukankan      html  css  js  c++  java
  • JSON入门实例

    json和XML很像,但它具有更快,更小,阅读性强等优点。不多说,直接来例子:

    <html>
    <body>
    <h2>通过 JSON 字符串来创建对象</h3>
    <p>
    First Name: <span id="fname"></span><br />
    Last Name: <span id="lname"></span><br />
    </p>
    <script type="text/javascript">
    var txt = '{"employees":[' +
    '{"firstName":"Bill","lastName":"Gates" },' +
    '{"firstName":"George","lastName":"Bush" },' +
    '{"firstName":"Thomas","lastName":"Carter" }]}';

    Var test={"people":[
    {"name":"zhoudachuang","age":22},
    {"name":"zhangpengpeng"},
    {"name":"zhanghua","age":28,"adress":"123"}]};//每个对象的属性值个数可以不一样

    //由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
    eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
    var obj = eval ("(" + txt + ")");//将json文本转换成javascript对象

    document.getElementById("fname").innerHTML=test.people[0].name
    document.getElementById("lname").innerHTML=obj.employees[1].lastName
    </script>
    </body>
    </html>

    可以把这段代码直接粘贴,然后执行看效果。

    下面是一个json的扩展用法

    //对json对象的增删查改操作

    //声明json对象

    var jsonObj2={persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]};

    var persons=jsonObj2.persons;
    var str="";

    var person={name:"yaoMing",sex:"m",age:"26"};
    //以下为json对象的操作,去掉注释可以查看操作结果
    //jsonObj2.persons.push(person);//数组最后加一条记录

    下面的就不上图了

    //jsonObj2.persons.pop();//删除最后一项
    //jsonObj2.persons.shift();//删除第一项
    jsonObj2.persons.unshift(person);//数组最前面加一条记录 只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除
    //jsonObj2.persons.splice(0,2);//开始位置,删除个数
    //替换不删除
    var self={name:"tom",sex:"m",age:"24"};
    var brother={name:"Mike",sex:"m",age:"29"};
    jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象
    //替换并删除
    //jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象

    for(var i=0;i<persons.length;i++){ var cur_person=persons[i]; str+=cur_person.name+"'sex is "+cur_person.sex+" and age is "+cur_person.age+"<br><br>"; }
    document.writeln(str);
    //转换为json文本
    var myjsonobj = JSON.stringify(jsonObj2);
    document.writeln(myjsonobj);

  • 相关阅读:
    面向消息的持久通信与面向流的通信
    通信协议
    [1]序章,基本
    深拷贝和浅拷贝
    堆/栈 内存管理相关
    C++的四种cast(显示类型转换)
    智能指针相关
    C++对象模型:单继承,多继承,虚继承
    HTTP/TCP
    [读书笔记] 为什么绝不在构造/析构函数中调用virtual函数
  • 原文地址:https://www.cnblogs.com/dachuang/p/3732473.html
Copyright © 2011-2022 走看看