zoukankan      html  css  js  c++  java
  • JSON小记

    类似 XML

    • JSON 是纯文本
    • JSON 具有“自我描述性”(人类可读)
    • JSON 具有层级结构(值中存在值)
    • JSON 可通过 JavaScript 进行解析
    • JSON 数据可使用 AJAX 进行传输
    • 为什么使用 JSON?

      对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

      使用 XML

      • 读取 XML 文档
      • 使用 XML DOM 来循环遍历文档
      • 读取值并存储在变量中

      使用 JSON

      • 读取 JSON 字符串
      • 用 eval() 处理 JSON 字符串

    JSON 语法规则

    JSON 语法是 JavaScript 对象表示法语法的子集。

    • 数据在名称/值对中
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组

    JSON 名称/值对

    JSON 数据的书写格式是:名称/值对。

    名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

    "firstName" : "John"

    这很容易理解,等价于这条 JavaScript 语句:

    firstName = "John"

    JSON 值可以是:

    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true 或 false)
    • 数组(在方括号中)
    • 对象(在花括号中)
    • null

    JSON 对象在花括号中书写:

    对象可以包含多个名称/值对:

    { "firstName":"John" , "lastName":"Doe" }

    这一点也容易理解,与这条 JavaScript 语句等价:

    firstName = "John"
    lastName = "Doe"

    JSON 数组在方括号中书写:

    数组可包含多个对象:

    {
    "employees": [
    { "firstName":"John" , "lastName":"Doe" },
    { "firstName":"Anna" , "lastName":"Smith" },
    { "firstName":"Peter" , "lastName":"Jones" }
    ]
    }

    把 JSON 文本转换为 JavaScript 对象

    JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

    var txt = '{ "employees" : [' +
    '{ "firstName":"Bill" , "lastName":"Gates" },' +
    '{ "firstName":"George" , "lastName":"Bush" },' +
    '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

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

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

    var obj = eval ("(" + txt + ")");

    在网页中使用 JavaScript 对象:
    <p>
    First Name: <span id="fname"></span><br />
    Last Name: <span id="lname"></span><br />
    </p>
    
    <script type="text/javascript">
    document.getElementById("fname").innerHTML = obj.employees[1].firstName
    document.getElementById("lname").innerHTML = obj.employees[1].lastName
    </script>

     总结:

    json数据格式

    key:value

    对象:{}

    数组:[]

    {books:

      [

      {book:{id:"001",name:"Java",price:100}},

      {book:{id:"002",name:"Android",price:150}}

      ]

    }

  • 相关阅读:
    感悟
    shadow classification
    interpolation
    c语言调试技巧
    注册博客园
    用jQuery实现图片预加载和等比例缩小,大图可以点击关闭
    焦点图,带数字显示,支持常见浏览器
    又一个jquery轮播效果,焦点图,带数字显示序号,这个可以添加对应标题在图片上,支持主流浏览器
    纯css下拉菜单,支持CSS3圆角
    Jquery 下拉菜单,可以设置颜色,支持CSS3圆角
  • 原文地址:https://www.cnblogs.com/dongye/p/3151863.html
Copyright © 2011-2022 走看看