博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON入门讲解
阅读量:5244 次
发布时间:2019-06-14

本文共 2738 字,大约阅读时间需要 9 分钟。

 
JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。它易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
二、JSON的编写规则
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
注意:1、JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整 个对象用大括号封装起来。可用大括号分级嵌套数据。
2、对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。
三、JSON主要有两种数据结构
1、由key--value对组成的数据结构。这种数据结构在不同的语言中有不同的实现.
例如:在javascript中是一个对象.而在java中是一种Map结构,c语言中是struct,其它的语言中可能为record、 hash table 等。
2、有序集合、这种数据结构在不同语言中可能有list、vertor、数组和序列等实现。
3、javascript中对这两种方式的语法
1)用于创建对象的语法
JSON语法创建对象更像一种Map结构,它是一种由key-value对组成数据结构。
如图就创建Object对象:总是以{开始以}结束,对象的每个属性名与属性值之间用英文的默冒号(:)分隔,多个属性之间用英文的(,)隔开:语法格式如下:
 
  1. student = {
  2. name:”kouxiaolin”,
  3. age:22,
  4. sex:”女”
  5. }
student = {                     name:”kouxiaolin”,                     age:22,                      sex:”女”                     }
备注:使用JSON语法创建对象时,属性不仅可是普通的字符,而且可以是任何基本数据类型,还可以是函数,数组,甚至是另外一个用JSON语法创建的对象.
比如:
 
  1. teacher = {
  2. name:”xiaoqian”,
  3. Student:{
  4. Name:”kouxiaolin”,
  5. Sex:”女”
  6. },
  7. //使用JSON为teacher对象分配一个方法
  8. toString:function(){
  9. alert(“方法的测试…….”);
  10. }
  11. }
teacher = {                   name:”xiaoqian”,                  Student:{                       Name:”kouxiaolin”,                       Sex:”女”                                                   },               //使用JSON为teacher对象分配一个方法                toString:function(){                        alert(“方法的测试…….”);                       }    }
2)用于创建数组的语法
用JSON创建数组是分常重要的
JSON创建数组以英文的中括号[开始,然后以中括号]结束.其中放入数组的元素.元素之间用英文的逗号,分开最后的不需要英文逗号。
例如:
Arr = [value1,value2,value3,………]
通过上面的讲解我理解了JSON创建Javascript对象及数组的方式,那么下面我们就来实现xml与Json之间的转换.
具体案例实现:
Xml文件:
 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <cities>
  3. <province name="北京">
  4. <city>大兴</city>
  5. <city>昌平</city>
  6. <city>朝阳</city>
  7. <city>海淀</city>
  8. <city>东城</city>
  9. <city>西城</city>
  10. </province>
  11. <province name="河南">
  12. <city>郑州</city>
  13. <city>安阳</city>
  14. <city>平顶山</city>
  15. <city>开封</city>
  16. <city>商丘</city>
  17. <city>洛阳</city>
  18. </province>
  19. </cities>
  20. 转换成JSON:
  21. cities =[
  22. province1:{
  23. name:"北京",
  24. city[
  25. "大兴","昌平","朝阳","海淀","东城","西城"
  26. ]
  27. },
  28. province2: {
  29. name:"河南",
  30. city[
  31. "郑州","安阳","平顶山","开封","商丘","洛阳"
  32. ]
  33. }
  34. ]
  35. 以上内容归redarmy_chen原创,版权归redarmy_chen所有不得随意转载 如有问题请发送邮件到redarmy_chen@qq.com 
文章来自:http://redarmychen.iteye.com/blog/980243

转载于:https://www.cnblogs.com/yangkai-cn/archive/2013/03/11/4016939.html

你可能感兴趣的文章
Ubuntu12.04 英文环境下使用ibus输入中文并自动启动输入法
查看>>
SpringMVC 拦截器HandlerInterceptor(一)
查看>>
mvc知识应用
查看>>
数据结构之排序三:插入排序
查看>>
Class.forName(),classloader.loadclass用法详解
查看>>
vue route 跳转
查看>>
Device Tree Usage
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
POJ 1220 高精度/进制转换
查看>>
cocos2d-x中CCLabelAtlas的小图片拼接
查看>>
【学习笔记】深入理解js原型和闭包系列学习笔记——精华
查看>>
深入理解js——prototype原型
查看>>
Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。...
查看>>
Ubuntu 安装之python开发
查看>>
恶心的struts标签,等我毕业设计弄完了,瞧我怎么收拾你。
查看>>
Linux中防火墙centos
查看>>
hudson+apachecontinuum+ant
查看>>
mysql新建用户,用户授权,删除用户,修改密码
查看>>
实验五 TCP传输及加密
查看>>
【iOS】build diff: /../Podfile.lock: No such file or directory
查看>>