JSON简单入门

JSON定义 
  JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。

.NET平台中就有一个开源JSON库LitJSON.dll ,功能非常强大。

JSON用于描述数据结构,以两种基本形式存在:

1. "名称/值"对的集合 不同语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),键列表(keyed list)等.

2. 值的有序列表 多数语言中被理解为数组(array).


JSON使用:

JSON比XML更轻巧,是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

简单的举个例子:这里来表示一个User对象,拥有userid,name,age属性

使用JSON的形式表示User对象:

{userid:1, name:"Simon", age:22};

如果想取它的值,得先把这个字符串赋给一个JavaScript变量,这样就可以直接使用对象的任一属性了。

JS代码:

<script>
var User = {userid:1, name:"Simon", age:22};
alert(User.name);
</script>


数组中可以包含数组,JSON也可表示这种复杂的形式:

JS代码:

<script>
var User = {userid:1, name:{CH:"寒冰",EN:"Simon"}, age:22};
alert(User.name.CH); //寒冰
</script>



再来看JSON对象 删除 元素的功能:

JS代码:

<script>
var User = {userid:1, name:"寒冰, age:22};
delete User.name; //删除name
alert(User.name); //undefined
</script>



用JSON表示更为复杂的数组形式: 

JS代码:

<script>
var UserList = 

 {userid:1, name:{CH:"寒冰",EN:"Simon"}, age:22},
 {userid:2, name:{CH:"天意",EN:"Ylem"}, age:20},
 {userid:3, name:{CH:"小颢",EN:"Caro"}, age:28},
 {userid:4, name:{CH:"倾听",EN:"Gaya"}, age:20},
 {userid:5, name:{CH:"小虫",EN:"Jack"}, age:25}

alert(UserList[0].name.EN); //Simon 
</script>


获取值时,除了使用"."引用属性外,也可使用:
UserList[0]["name"]["EN"]; 或者 UserList[0].name["EN"];


总结:

1.对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

2.数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

3.值(value)可以是双引号括起来的字符串(string)、数值(number)、truefalse、 null、对象(object)或者数组(array)。这些结构可以嵌套。

4.字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值