JSON语法规则:

    数据在名称/值对中;

    数据由逗号分隔;

    大括号保存对象;

    中括号保存数组

1、访问对象值:


  1. var myObj,x;
  2. myObj = {"name":"runoob","alexa":10000,"site":null};
  3. x = myObj.name; //使用点号(.)来访问对象的值
  4. x = myObj["name"]; //使用中括号([])来访问对象的值

2、使用for-in 来循环对象的属性:


  1. <p id="demo"></p>
  2. <script>
  3. var myObj = { "name":"runoob", "alexa":10000, "site":null };
  4. for (x in myObj) {
  5. document.getElementById("demo").innerHTML += x + "<br>";
  6. }
  7. </script>

3、for-in循环对象的属性时,使用中括号([])来访问属性的值:


  1. <p id="demo"></p>
  2. <script>
  3. var myObj = { "name":"runoob", "alexa":10000, "site":null };
  4. for (x in myObj) {
  5. document.getElementById("demo").innerHTML += myObj[x] + "<br>";
  6. }
  7. </script>

4、修改 JSON 对象的值:

myObj.sites.site1 = "www.google.com";

5、删除 JSON 对象的属性:

delete myObj.sites.site1;

5、使用索引值来访问数组:


  1. <script>
  2. var myObj, x;
  3. myObj = {"name":"网站","num":3, "sites":[ "Google", "Runoob", "Taobao" ] }
  4. x = myObj.sites[0];
  5. document.getElementById("demo").innerHTML = x;
  6. </script>

6、使用for-in 来访问数组:


  1. <script>
  2. var myObj, i, x = "";
  3. myObj = {
  4. "name":"网站",
  5. "num":3,
  6. "sites":[ "Google", "Runoob", "Taobao" ]
  7. };
  8. for (i in myObj.sites) {
  9. x += myObj.sites[i] + "<br>";
  10. }
  11. document.getElementById("demo").innerHTML = x;
  12. </script>

******************************************************************************************************************************************

1、JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象

语法: JSON.parse(text,reviver)

text:必需, 一个有效的 JSON 字符串。

reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

var obj  = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');

解析完成后,我们就可以在网页上使用 JSON 数据了:


  1. <p id="demo"></p>
  2. <script>
  3. var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
  4. document.getElementById("demo").innerHTML = obj.name + ":" + obj.site;
  5. </script>

2、使用AJAX 从服务器请求 JSON 数据,并解析为 JavaScript 对象:


  1. var xmlhttp = new XMLHttpRequest();
  2. xmlhttp.onreadystatechange = function(){
  3. if(this.readyState == 4 && this.status == 200){
  4. myObj = JSON.parse(this.responseText);
  5. document.getElementById("demo").innerHTML = myObj.name;
  6. }};
  7. xmlhttp.open("GET","/try/ajax/json_demo.txt",true);
  8. xmlhttp.send();

3、 JSON.stringify()方法:

    JSON 通常用于与服务端交换数据。在向服务器发送数据时一般是字符串。我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

语法: JSON.stringify(value,replacer,space)

value:必需, 一个有效的 JSON 字符串。

replacer:可选。用于转换结果的函数或数组。

如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。

如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。

space:可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 有可以使用非数字,如:\t。


  1. var obj = {"name":"runoob","alexa":10000,"site":"www.runoob.com"};
  2. var myJSON = JSON.stringify(obj);
  3. document.getElementById("demo").innerHTML = myJSON;

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象:


  1. var txt = '{ "sites" : [' +'{"name":"菜鸟教程" , "url":"www.runoob.com" },' +'{ "name":"google" , "url":"www.google.com" },'+'{ "name":"微博" , "url":"www.weibo.com" } ]}';
  2. var obj = eval("("+ txt + ")");
  3. document.getElementById("name").innerHTML=obj.sites[0].name
  4. document.getElementById("url").innerHTML=obj.sites[0].url

JSON 表达式的更多相关文章

  1. s表达式和json表达式

    s表达式 + 1 2 3普通表达式 1+2+3json表达式{ +:[1, 2, 3]}优点,一个运算符,无限个参数 s表达式 * (+ 1 2) 3普通表达式 1+(2*3)json表达式{ *:[ ...

  2. QT解析嵌套JSON表达式

    QT5开发环境集成了解析JSON表达式的库.使用很方便. 友情提示一下,好像在QT4环境里.须要到官网下载相关的库文件才干使用解析功能.话不多说,上代码 1.在pro文件里增加 QT += scrip ...

  3. Jmeter之Json表达式关联

    Jmeter使用中,通常用的最多的是正则表达式和Xpath表达式,但是现在大多数网站都用的Json返回数据,而且数据还特长的那种,作为合格的测试人员也要适应技术潮流发展,下面介绍利用Json Extr ...

  4. Jmeter 提取http请求返回值里json数据参数化方法

    第三方插件下载地址:http://jmeter-plugins.org/downloads/all/ 插件下载后解压:找到JMeterPlugins-Extras.jar,把JMeterPlugins ...

  5. 【JEMTER】后置处理器JSON Path Extractor获取server端返回的json中某项值

    需求1:点击所有报表模板时,server端返回所有报表模板的ID(templateId),测试时需要下载某个模板生成的报表 需求2:点击单个报表模板时,server端返回这个报表模板下的所有报表ID( ...

  6. mysql 5.7 laravel json类型数据相关操作

    2018年10月16日18:14:21 官方文档中文翻译版 原文:https://dev.mysql.com/doc/refman/5.7/en/json.html 最后有部分实例和一个小总结 11. ...

  7. JSON Extractor

    JMeter处理responses 的json 对于请求1返回的结果,处理以后作为请求2的参数,JMeter提供了JSON 提取器 比如 responses 返回: {"statusCode ...

  8. [笔记] Python 中JSON数据的读写

    前言 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换语言 JSON是独立于语言的文本格式, JSON 数据格式与语言无关 JSO ...

  9. python初步学习-python 模块之 json

    json 模块 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写.一般API返回的数据大多是 JSON.XML,如果返回JSON的话,将获取 ...

随机推荐

  1. C#之菜单控件、主窗体打开子窗体、GroupBox控件使用

    一.背景 一年前有学习过C#,但没有在项目中去实际做APP,重新捡起来应用到项目中.我同事本来做好一个CANOPEN设备管理的界面,由于近期搜索了别人的开发的界面,我觉得有很多东西要重新安排,以及我已 ...

  2. Spring入门--控制反转(IOC)与依赖注入(DI)

        1.控制反转(Inversion of Control)与依赖注入(Dependency Injection) 控制反转即IoC (Inversion of Control).它把传统上由程序 ...

  3. RocketMQ集群消费的那些事

    说明 RocketMQ集群消费的时候,我们经常看到类似注释里面 (1,(2 的写法,已经有时候有同学没注意抛异常的情况就是(3 模拟的情况.那么这3种情况到底是怎么样的呢?你是否都了然于心呢?下面我们 ...

  4. How to Rotate Tomcat catalina.out

    If catalina.out becomes 2GB in size, tomcat crashes and fails to start without any error message. To ...

  5. 观察者模式 VS 责任链模式

    为什么要把观察者模式和责任链模式放在一起对比呢?这两个模式没有太多的相似性呀,真没有嘛?有相似性,我们在观察者模式中也提到了触发链(也叫做观察者链)的问题,一个具体的角色既可以是观察者,也可以是被观察 ...

  6. python3 分解质因数

    python3 分解质因数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan num = int(input(&quo ...

  7. HZK16应用实例

    在C51中,HZK16汉字库的使用(mydows's Blog转载) 定义如下: unsigned char str[]="我" 个字节长度,内容为"我"的GB ...

  8. (转)const char to LPCTSTR不能转化问题

    转: const char to LPCTSTR不能转化问题 Visual C++ 2008里cannot convert parameter 1 from 'const char [13]' to ...

  9. IOS越狱开发环境搭建

    1:安装 mac ports 2:安装DPKG, 在终端输入sudo port -f install dpkg即可安装 3:安装theos Theos是一个基于Make的编译环境,我们正是用它来编译生 ...

  10. POJ 1745 Divisibility DP

    POJ:http://poj.org/problem?id=1745 A完这题去买福鼎肉片,和舍友去买滴~舍友感慨"这一天可以卖好几百份,每份就算赚一块钱..那么一个月..一年...&quo ...