JSON 使用

ylbtech-JSON: JSON 使用
1. 把 JSON 文本转换为 JavaScript 对象返回顶部

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

为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。

2. JSON 实例 - 来自字符串的对象返回顶部

创建包含 JSON 语法的 JavaScript 字符串:

var txt = ‘{"employees":[‘ + ‘{"firstName":"John","lastName":"Doe"}‘
    + ‘,{"firstName":"Anna","lastName":"Smith"}‘
    + ‘,{"firstName":"Peter","lastName":"Jones"}]}‘;

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

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

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

在网页中使用 JavaScript 对象:

实例

<p>
        名:<span id="fname"></span><br />
        姓:<span id="lname"></span><br />
 </p>
<script>
    document.getElementById("fname").innerHTML = obj.employees[1].firstName;
    document.getElementById("lname").innerHTML = obj.employees[1].lastName;
</script>
3. 代码、结果返回顶部

代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>示例</title>
</head>
<body>
    <h2>从 JSON 字符串中创建对象</h2>
    <p>
        名:<span id="fname"></span><br />
        姓:<span id="lname"></span><br />
    </p>
    <script>
        var txt = ‘{"employees":[‘ + ‘{"firstName":"John","lastName":"Doe"}‘
            + ‘,{"firstName":"Anna","lastName":"Smith"}‘
            + ‘,{"firstName":"Peter","lastName":"Jones"}]}‘;

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

        document.getElementById("fname").innerHTML = obj.employees[1].firstName;
        document.getElementById("lname").innerHTML = obj.employees[1].lastName;
    </script>
</body>
</html>

结果

4. JSON 解析器返回顶部

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

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

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

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

Web 浏览器支持 Web 软件支持

Firefox(Mozilla)3.5

Internet Explorer 8

Chrome Opera 10 Safari 4


jQuery Yahoo UI

Prototype Dojo

ECMAScript 1.5

代码

<!DOCTYPE html>
<html>
<body>
    <h2>Create Object from JSON String</h2>
    <p>
        名:<span id="fname"></span><br />
        姓:<span id="lname"></span><br />
    </p>
    <script>
        var txt = ‘{"employees":[‘ + ‘{"firstName":"John","lastName":"Doe"}‘
            + ‘,{"firstName":"Anna","lastName":"Smith"}‘
            + ‘,{"firstName":"Peter","lastName":"Jones"}]}‘;

        var obj = JSON.parse(txt);

        document.getElementById("fname").innerHTML = obj.employees[1].firstName;
        document.getElementById("lname").innerHTML = obj.employees[1].lastName;
    </script>
    <script>
    document.getElementById("fname").innerHTML = obj.employees[1].firstName;
    document.getElementById("lname").innerHTML = obj.employees[1].lastName;
    </script>
</body>
</html>

结果

5. 对于较老的浏览器,可使用 JavaScript 库返回顶部

对于较老的浏览器,可使用 JavaScript 库:

https://github.com/douglascrockford/JSON-js

JSON 格式最初是 originally specified by Douglas Crockford

6.返回顶部
7.返回顶部
8.返回顶部
9.返回顶部
10.返回顶部
11.返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
时间: 2024-10-14 00:30:31

JSON 使用的相关文章

Day4 - 迭代器&amp;生成器、装饰器、Json &amp; pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

Node.js 使用angularjs取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

npm5 packag-lock.json

前几天升级了 Node.js v8.0 后,自带的 npm 也升级到了5.0,第一次使用的时候确实惊艳到了:原本重新安装一次模块要十几秒到事情,现在一秒多就搞定了.先不要激动,现在我来大概讲一下 npm 5 的一些大的变化: 使用npm install xxx命令安装模块时,不再需要--save选项,会自动将模块依赖信息保存到 package.json 文件: 安装模块操作(改变 node_modules 文件夹内容)会生成或更新 package-lock.json 文件 发布的模块不会包含 p

JS高程3:JSON

JSON,JavaScript Object Notation,JS对象表示法,是目前最常见的结构化数据传输形式. JSON并非编程语言,而是一种数据结构,像mp4.avi一样,只是一种数据格式而已.(数据结构可以包含很多数据类型) JSON值的类型 简单值 对象 数组 简单值:字符串.数字.布尔值和null,注意不包括undefined. 注意:JSON中的字符串必须用双引号. 对象:对象就是无序的键值对,而键值中的值也可以是简单值.对象或者数组. 注意:JSON中对象的属性必须用双引号括起来

C#如何拿到从http上返回JSON数据?

在实际开发中,我们经常会使用到API,所谓API一般就是一个地址,我们称之为接口.然后我们通过用C#对这地址发送请求,请求后,服务器就会给我们返回数据,一般是XML或者JSON,这里我们主要讲述的是JSON. 为了演示,我们这里准备了一个接口,这是一个查询物流的接口.(读者读到这篇文章的时候,接口可能有效,也可能失效,因为接口是网上找的,不是笔者自己写的,但是原理是一样的.) 接口:  http://www.kuaidi100.com/query?type=快递公司编码&postid=物流单号

JSON 简介

ylbtech-JSON: JSON 简介 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似 XML. JSON 比 XML 更小.更快.更易解析. JSON 实例 { "employee":[ {"firstName":"John","lastName":"Doe"}, {"firstName"

【Struts2】SSH如何返回JSON数据

  在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就是平常的配置 第一种方法是使用com.google.gson.Gson 将对象转化为Json字符串  (gson-1.6.jar) 主要的代码如下 1 package com.javen.tool; 2 3 import java.io.IOException; 4 import java.io.P

JSON 简单例子

代码: json [ { "title" : "a", "num" : 1 }, { "title" : "b", "num" : 1 }, { "title" : "c", "num" : 1 }] 例子1 js var box=[ { title:'a', num:1, height:177, }, { title:'b',

JSON与Javabean转换的几种形式

JSON格式的数据传递是最常用的方法之一,以下列出了常用的几种形态以及与Javabean之间的转换: String json1="{'name':'zhangsan','age':23,'interests':[{'interest':'篮球','colors':['绿色','黄色']},{'interest':'足球','colors':['红色','蓝色']}]}"; String json2="[{'name':'zhangsan'},{'name':'lisi'},{

python提取网页中json数据

用法示例: 相对于python解析XML来说,我还是比较喜欢json的格式返回,现在一般的api返回都会有json与XML格式的选择,json的解析起来个人觉得相对简单些 先看一个简单的豆瓣的图书查询的api返回 http://api.douban.com/v2/book/isbn/9787218087351 {"rating":{"max":10,"numRaters":79,"average":"9.1"