zoukankan      html  css  js  c++  java
  • Json学习笔记

    JSON:JavaScript 对象表示法(JavaScript Object Notation)。

    JSON 是存储和交换文本信息的语法。类似 XML。

    JSON 比 XML 更小、更快,更易解析。

    JSON 语法规则

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

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

     

    JSON 文件

    • JSON 文件的文件类型是 ".json"
    • JSON 文本的 MIME 类型是 "application/json"

    JSON 名称/值对

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

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

    "姓名" : "李明"

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

    姓名 = "李明"

    JSON 值

    JSON 值可以是:

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

    Json格式数据表示方法

    Json使用花括号表示对象,使用方括号表示数组。二则的组合可以表述具有复杂结构的数据。

    例如:

    {key:value,key2:value2}
    [1,2,3,4,4,4,4,5,6,76]
    [{"姓名":"李明","年龄":18},{"姓名":"李龙","年龄":19},{"姓名":"李百","年龄":17}]

    程序例子:

    var myJson = [{ "姓名": "李明", "年龄": 18 },
                { "姓名": "李龙", "年龄": 19 },
                { "姓名": "李百", "年龄": 17 }];
            alert(myJson[0].姓名);        //读取姓名
            myJson[3].姓名 = "李白";       //修改姓名
            alert(myJson[2].姓名);        //读取姓名

    运行结果如下:

    image image

    由于运行期间更改了第三个对象的姓名,所以李百变成了李白了。

    把 JSON 文本转换为 JavaScript 对象

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

    解析Json

    可以使用eval()函数解析Json数据

    示例代码:

    var str='[{ "姓名": "李明", "年龄": 18 },'+
                '{ "姓名": "李龙", "年龄": 19 },'+
            '{ "姓名": "李百", "年龄": 17 }]';
                var obj = eval(str);

    运行结果如下(运行结果截图是在IE11的开发人员工具里的监视内容):

    image

    JSON 解析器

    提示:eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。

    使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。

    在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。

    较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。

    Web 浏览器支持
    Firefox (Mozilla) 3.5

    • Internet Explorer 8
    • Chrome
    • Opera 10
    • Safari 4

    Web 软件支持

    • jQuery
    • Yahoo UI
    • Prototype
    • Dojo
    • ECMAScript 1.5
  • 相关阅读:
    Mybatis 用Demo去入门 (使用数据库的查询操作测试)
    Spring Mvc 用Demo去学习
    OGNL的学习
    hibernate 运用 中的 细节分析
    pip3问题pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail
    更换centos7源
    Centos7下python2.7升级至3.6
    service adminsetd start
    kali更新源
    redhat7 配置使用centos的yum源
  • 原文地址:https://www.cnblogs.com/liuguangyin/p/4069914.html
Copyright © 2011-2022 走看看