zoukankan      html  css  js  c++  java
  • Json

    1.   JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

    由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数进行解析,用 JSON 数据来生成原生的 JavaScript 对象。    必须把文本包围在括号中,这样才能避免语法错误:

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

    2.  JSON 可通过 JavaScript 进行解析    JSON 数据可使用 AJAX 进行传输

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

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

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

     1 <html>
     2 <body>
     3 <h2>通过 JSON 字符串来创建对象</h3>
     4 <p>First Name: <span id="fname"></span></p> 
     5 
     6 <script type="text/javascript">
     7 var employees = [
     8 { "firstName":"Bill" , "lastName":"Gates" },
     9 { "firstName":"George" , "lastName":"Bush" },
    10 { "firstName":"Thomas" , "lastName": "Carter" }
    11 ];
    12 employees[1].firstName="Jobs";
    13 document.getElementById("fname").innerHTML=employees[1].firstName;
    14 </script>
    15 
    16 </body>
    17 </html>
    18 
    19 
    20 通过 JSON 字符串来创建对象
    21 
    22 First Name: Jobs 
    <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 obj = eval ("(" + txt + ")");
    
    document.getElementById("fname").innerHTML=obj.employees[1].firstName 
    document.getElementById("lname").innerHTML=obj.employees[1].lastName 
    </script>
    </body>
    </html>
    
    通过 JSON 字符串来创建对象
    
    First Name: George
    Last Name: Bush

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

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

  • 相关阅读:
    程序员移居国外指南(1)-父母怎么办?
    【广州.NET社区线下活动】云定未来
    TDD/BDD和接口、基类、继承、依赖注入DI
    德国慕尼黑.NET俱乐部VS2019发布活动
    大湾区联动:广州深圳助力东莞.NET俱乐部首次线下活动
    .NET的未来-广州.NET俱乐部学生分会
    Belgrade Azure 2019-2-11活动感悟
    参观微软Serbia开发中心和Office365 2019-01-31活动感悟
    MySQL复制(二)--基于二进制日志文件(binlog)配置复制
    MySQL复制(一)--复制概述
  • 原文地址:https://www.cnblogs.com/fuleying/p/3494829.html
Copyright © 2011-2022 走看看