JS中的JSON对象 定义和取值
1.JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
JSON的规则很简单:对象是一个无序的“‘名称:值
'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值'
对”之间使用“,”(逗号)分隔。
规则如下:
1)映射用冒号(“:”)表示。名称:值
2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2
3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}
4) 并列数据的集合(数组)用方括号(“[]”)表示。
[
{名称1:值,名称2:值2},
{名称1:值,名称2:值2}
]
5 )元素值可具有的类型:string, number, object, array,
true
,
false
,
null
2.json中的五种写法:
1)传统方式存储数据,调用数据
复制代码代码如下:
<script type=
"text/javascript"
>
//JS传统方式下定义"类"
function
Person(id,name,age){
this
.id = id;
this
.name = name;
this
.age = age;
}
//JS传统方式下创建"对象"
var
p =
new
Person(20141028,
"一叶扁舟"
,22);
//调用类中的属性,显示该Person的信息
window.alert(p.id);
window.alert(p.name);
window.alert(p.age);
</script>
2)第一种样式:
复制代码代码如下:
<script type=
"text/javascript"
>
var
person = {
id:001,
name:
"一叶扁舟"
,
age:23
}
window.alert(
"编号:"
+person.id);
window.alert(
"用户名:"
+person.name);
window.alert(
"年龄:"
+person.age);
</script>
3)第二种样式:
复制代码代码如下:
<script type=
"text/javascript"
>
var
p = [
{id:001,name:
"一叶扁舟"
,age:22},
{id:002,name:
"无悔"
,age:23},
{id:003,name:
"无悔_一叶扁舟"
,age:24}
];
for
(
var
i = 0; i < p.length; i++){
window.alert(
"编号:"
+p[i].id);
window.alert(
"用户名:"
+p[i].name);
window.alert(
"年龄:"
+p[i].age);
}
</script>
4)第三种样式:
复制代码代码如下:
<script type=
"text/javascript"
>
var
p = {
"province"
:[
{
"city"
:
"福州"
},
{
"city"
:
"厦门"
},
{
"city"
:
"莆田"
}
]
};
window.alert(
"所在城市:"
+ p.province[0].city);
</script>
5)第四种样式:
复制代码代码如下:
<script type=
"text/javascript"
>
var
p = {
"ids"
:[
{
"id"
:001},
{
"id"
:002},
{
"id"
:003}
],
"names"
:[
{
"name"
:
"一叶扁舟"
},
{
"name"
:
"无悔"
},
{
"name"
:
"无悔_一叶扁舟"
}
]
};
for
(
var
i = 0; i < p.names.length; i++){
window.alert(
"名字:"
+p.names[i].name);
}
for
(
var
i = 0; i < p.ids.length; i++){
window.alert(
"id:"
+p.ids[i].id);
}
</script>
6)第五种样式:
复制代码代码如下:
<script type=
"text/javascript"
>
var
p = {
"province"
:[
"福州"
,
"厦门"
,
"莆田"
]
};
window.alert(
"城市的个数:"
+p.province.length);
window.alert(
"分别是:\n"
);
for
(
var
i=0;i<p.province.length;i++){
window.alert(p.province[i]);
}
</script>
JS中的JSON对象 定义和取值的更多相关文章
- js中的json对象详细介绍
JSON一种简单的数据格式,比xml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包,下面为大家详细介绍下js中的json对象, 1.JSON(JavaScript Ob ...
- js中 给json对象添加属性和json数组添加元素
js中 给json对象添加新的属性 比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre.做法如下: var obj={ &quo ...
- MVC中处理Json和JS中处理Json对象
MVC中处理Json和JS中处理Json对象 ASP.NET MVC 很好的封装了Json,本文介绍MVC中处理Json和JS中处理Json对象,并提供详细的示例代码供参考. MVC中已经很好的封装了 ...
- js中的json对象
1.JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不须要 ...
- JS中实现JSON对象和JSON字符串之间的相互转换
对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...
- js中的json对象和字符串之间的转化
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSO ...
- 【转】MVC中处理Json和JS中处理Json对象
事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了. MVC中: public JsonResult Test() { JsonResult json = new ...
- js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。
JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age&quo ...
- 在js中 把 json对象转化为String对象的方法
方法1: 使用js的扩展方法 ** * json对象转字符串形式 */ function json2str(o) { var arr = []; var fmt = function(s) { if ...
随机推荐
- 基于Lwip协议栈中独立模式下回调函数的使用
一.使用Lwip协议独立模式开发 最近在STM32F4上边移植了Lwip,Lwip是一个小型开源的TCP/IP协议栈,有无操作系统的支持都可以运行.我当前只测试了TCP Server功能,然后对TCP ...
- eclipse git冲突解决
1.工程->Team->同步: 2.从远程pull至本地,就会出现如下内容: 3.使用Merge Tool,执行第二项 4.再手动修改 4.修改后的文件需要添加到Git index中去: ...
- 使用JOTM实现分布式事务管理(多数据源)
使用spring和hibernate可以很方便的实现一个数据源的事务管理,但是如果需要同时对多个数据源进行事务控制,并且不想使用重量级容器提供的机制的话,可以使用JOTM达到目的. JOTM的配置十分 ...
- Relaxation step(Dijkstra's 最短路径算法)
翻译成中文就是"松弛",属于工程优化的范畴: Dijkstra 的单源最短路径算法,有一个重要的步奏,当访问到新的结点 u (加入到集合 S),然后遍历 u 的邻接顶点(Adj), ...
- Android开发之搜芽项目的图片载入问题(使用Volley进行网络图片载入)
搜芽的移动开发这几天进度相对来说很的快. 可是美中不足的就是网络图片的载入问题. 我有两套方案: 1)沿用迅雷动漫的图片载入.迅雷动漫也是用的一个开源的库.可是不知道是我使用出了问题还是真的是它的问题 ...
- java中volatile关键字的含义--volatile并不能做到线程安全
在Java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...
- Android EditText回车不换行
有时候我们需要在EditText组件输入完直接点回车进入 回车点击事件中处理相关业务,总是换行很伤脑筋,索性网上搜了一个办法,很实用,在这里记下来. 首先获取组件id: edt_city= (Edit ...
- node的express参数获取
1.express中的不定向路由参数的获取 如: app.get('/profile/:id', function(req, res) { var id=req.params.id res.send( ...
- UvaLive 6663 Count the Regions 离散化+DFS
链接:http://vjudge.net/problem/viewProblem.action?id=49408 题意:在平面内给出若干个矩形,求出它们能将整个平面分成多少份. 思路:刚開始一眼看到认 ...
- x=min(x, y)
x = min(x, y); ⇒ 当然 y 会有多个值传递进来 minHeight = min(minHeight, h[i]); 置于循环之中,不断将当前得到的最小高度值和新加入进来的值进行比较: ...