1.JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

2.JSON的规则很简单: 对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔。

3.简单的例子:

<body>

        <div style="border: 1px solid red; width: 100px; height: 100px;" onclick="bian()"></div>
</body>
</html>
<script type="text/javascript">
function bian()
{
var user = { //定义一个json数据
"username": "andy", //定义单个字符串
"age": 20, //定义int格式
"info": {"tel": "123456","cellphone": "98765"},//定义一维关联数组类型的
"address": [{"city": "beijing","postcode": "222333"}, {"city": "newyork","postcode": "555666"}]//定义二维数组类型的
}
alert(user.username);
alert(user.age);
alert(user.info.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
user.username = "Tom";
alert(user.username);
}
</script>

4.json与数组的区别

Json:是在javascript用来存数据的一种方法。

Json形式: var Json={a:1 , b:2 , c:3}; var json=[{a:1,b:2,c:3},{d:4,e:5,f:6}];

数组形式:var arr=[1,2,3];  var arr=[[a,2,3],[4,5,6]];

Json个数组的区别:

1、Json的下标是字符串,如调用第一个数据时用:Json.a 。 数组的下标是数字如 arr[0]

2、Json没有length,数组有lengt

用Json来存数据,如果遇到需要循环需要用 for(元素变量 in 变量名){};因为Json没有length所以要用for in循环,for in循环可以用于Json和数组

for(i in Json){

  语句

};

什么时候用for循环,什么时候用for in循环?

数组:用for循环 for(i=0,i<length,i++){};

Json:用for in循环 for(i in Json){};

5.js、jquery遍历json数据的几种方法

方式一

var value = {
"china":{
"hangzhou":{"code":"1"},
"shanghai":{"code":"2"},
"chengdu":{"code":"3"}
},
"America":{
"aa":{"code":"1"},
"bb":{"code":"2"}
},
"Spain":{
"dd":{"code":"1"},
"ee":{"code":"2"},
"ff":{"code":"3"}
}
}; for(var country in value)
{
document.write(country + ":<br />") for(var city in value[country])
{
document.write(' ' + city + "<br />");
for(var code in value[country][city])
{
document.write(" "+ code + value[country][city][code] +"<br />")
}
}
}

country 为value对象的一个属性名,value[country] 为value对象的属性值 这里为一个json对象比如b,value[country][city]为josn对象b的属性值 它也是一个json对象,于是 value[country][city]["code"]便可以取到json对象暂时成为c的值,或者 value[country][city].code。

总之分清是json还是array这是很关键的。

方式二

var value2 = {
"china":[
{"name":"hangzhou", "item":"1"},
{"name":"shanghai", "item":"2"},
{"name":"sichuan", "item":"3"}
],
"America":[
{"name":"aa", "item":"12"},
{"name":"bb", "item":"2"}
],
"Spain":[
{"name":"cc", "item":"1"},
{"name":"dd", "item":"23"},
{"name":"ee", "item":"3"}
]
};<br>
for (var country in value2)
{
document.write(country + ":<br />")
for (var city in value2[country])
{ document.write(city + " " + value2[country][city]["name"] + "<br />" );
}
}

解释:

country 为value2对象的属性名,value2[country] 为value2对象属性值 在本例中它是一个数组,city是数组的一个元素,它又是另外一个json对象,于是,value2[country][city]["name"]就访问到该对象的 name的属性值,也可以通过 value2[country][city].name 来访问该属性值。

方式三

var value2 = {
"china":[
{"name":"hangzhou", "item":"1"},
{"name":"shanghai", "item":"2"},
{"name":"sichuan", "item":"3"}
], "America":[
{"name":"aa", "item":"12"},
{"name":"bb", "item":"2"}
],
"Spain":[
{"name":"cc", "item":"1"},
{"name":"dd", "item":"23"},
{"name":"ee", "item":"3"}
]
}; for (var country in value2)
{
document.write(country + ":<br />") for (var i = 0;i < value2[country].length; i++)
{
document.write(" " + value2[country][i]["name"] + "<br />");
}
}

解释:

country value2对象的属性名,value2[country] 属性值 本例中是一个数组,value2[country].length 数组的长度,value2[country][i]数组的项 == json对象。

value2[country][i]["name"] 取得name的值,也可以用value2[country][i].name 来取得name的值。

 

JSON数据;的更多相关文章

  1. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  2. 利用Python进行数据分析(2) 尝试处理一份JSON数据并生成条形图

    一.JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下: 本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况. ...

  3. Salesforce Apex 使用JSON数据的示例程序

    本文介绍了一个在Salesforce Apex中使用JSON数据的示例程序, 该示例程序由以下几部分组成: 1) Album.cls, 定了了封装相关字段的数据Model类 2) RestClient ...

  4. MVC使用ajax异步刷新时怎样输出从后台中传过来的JSON数据

    前言 这几天在学习MVC使用AJAX异步刷,因为是新手.所以在js中传参数到后台以及后台返回数据到前台怎么接受,怎么前台遍历出JSON数据都开始不知道,相信新手在使用时跟我一样会遇到,这里我就和大家分 ...

  5. ASP.NET提取多层嵌套json数据的方法

    本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下. 假设需要提取的json字符串如下: {"name":&quo ...

  6. jQuey知识点三 解析json数据

    1.解析简单数据 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="vie ...

  7. JSON数据的使用

    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON ...

  8. ajax获取json数据 for select2

    json数据“a.json” [ { "id": "1", "text": "张三" }, { "id&quo ...

  9. Web API返回JSON数据

    对Web API新手来说,不要忽略了ApiController 在web API中,方法的返回值如果是实体的话实际上是自动返回JSON数据的例如: 他的返回值就是这样的: { "Conten ...

  10. JSON数据和对象

    在js中像数字类型.字符串类型.布尔类型这些都不能再被拆分,属于基本类型.与之相对有一种复杂类型:对象类型,它是本身由多个其他类型组合而成的. 创建对象有两种方法,一.new Object()创建一个 ...

随机推荐

  1. 【初级】linux cp 命令详解及使用方法实战

    cp:复制文件或者目录 前言: cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不 ...

  2. C# 多线程限制方法调用(monitor)

    多线程执行方法 改方法没有执行完时 别的方法不能调用次方法.用循环执行一个方法可以需要一分钟 在这一分钟只内任何 成员都不能再调用该方法. class MonitorSample { ; //生产者和 ...

  3. Android事件分发机制(下)

    这篇文章继续讨论Android事件分发机制,首先我们来探讨一下,什么是ViewGroup?它和普通的View有什么区别? 顾名思义,ViewGroup就是一组View的集合,它包含很多的子View和子 ...

  4. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  5. MySQL 通过semi join 优化子查询

    半连接是MySQL 5.6.5引入的,多在子查询exists中使用,对外部row source的每个键值,查找到内部row source匹配的第一个键值后就返回,如果找到就不用再查找内部row sou ...

  6. iOS开发笔记1:[转]导航栏里的"Back"按钮显示不出来

    最近项目中遇到一个问题,push过去的ViewController的Nav上面没有返回按钮,遂搜索资料,找到了以下文档.经测试i,问题解决. 原文地址:http://www.cnblogs.com/s ...

  7. sql的列的说明

    <#@ template debug="true" hostspecific="true" language="C#" #> & ...

  8. C语言程序设计第十一次作业

    同学们,一晃一个学期就过去了,第一节课时,我曾做过一个调查,没有一个同学在中学阶段接触过程序设计,也就是说,那时,大家都是零基础,或许只是听说过"C语言"这个词,但其他便一无所知了 ...

  9. Spring事务配置的五种方式(转载)

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...

  10. 【汇总】Android 常用方法整理

    1.解决ActionBar OverFlow按钮不显示.(在oncreate中调用即可) private void setOverflowShowingAlways() { try { ViewCon ...