JSON数据解析学习

JSON介绍

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

  JSON 是存储和交换文本信息的语法。类似 XML。但是JSON 比 XML 更小、更快,更易解析。

  JSON具有自我描述性,更易理解,易于人类阅读也易于机器生成和解析。

  JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

JSON文件

  JSON 文件的文件类型是 ".json"

  JSON 文本的 MIME 类型是 "application/json"

JSON语法规则

  JSON 语法是 JavaScript 对象表示法语法的子集:

  数据在名称/值对中。

  数据由逗号分隔。

  花括号保存对象。

  方括号保存数组。

JSON值

  JSON 值可以是:

  数字(整数或浮点数)

  字符串(在双引号中)

  逻辑值(true 或 false)

  数组(在方括号中)

  对象(在花括号中)

  null

JSON的结构

  JSON有两种结构:对象(object)和数组(array)。

对象

  对象(object)以花括号包围,

  key:value形式构成一个键值对,一个对象可以包含多个键值对,每个键值对以逗号(,)和其他键值对分隔开,值如果是字符串则必须用括号,数值型则不需要。

  如下面的对象:

{ "firstName":"John" , "lastName":"Doe" }

数组

  数组以方括号包围。

  数组是的有序集合,值之间以逗号分隔(,),这个可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

  如:

{
"employees":
[
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

参考资料

  介绍JSON:

  英文版:http://www.json.org/

  中文版:http://www.json.org/json-zh.html

  W3school JSON教程:

  http://www.w3school.com.cn/json/index.asp

  JSON in Java:

  http://www.json.org/java/index.html

  工具、库、源码下载:

  JSON-java源码:

  https://github.com/douglascrockford/JSON-java

  JSON-lib jar包:

  http://sourceforge.net/projects/json-lib/?source=directory

  google-gson:

  http://code.google.com/p/google-gson/

  还有JSON-Tools:

  http://sourceforge.net/projects/jsontools.berlios/?source=directory

JSON数据解析 基础知识及链接收集的更多相关文章

  1. JSON数据解析(转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...

  2. JSON数据解析(GSON方式) (转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...

  3. iOS - JSON 数据解析

     iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...

  4. iOS开发笔记3:XML/JSON数据解析

    这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...

  5. 多叉树结构:JSON数据解析(二)

    多叉树结构:JSON数据解析(二) 在上篇文章中提到了JSON数据解析的基本方法,但是方法效率太低,这里接着上篇文章写写如何利用多叉树结构,定义对象,实现JSON数据字段快速随机访问. JSON数据通 ...

  6. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...

  7. 浅谈JSON数据解析方法

    JSON数据解析 JSON是什么?? 如何把JSON数据解析出来 如何把一个字典转换为JSON JSON详细介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交 ...

  8. Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题

    1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...

  9. iOS学习—JSON数据解析

      关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSer ...

随机推荐

  1. AndroidManifest.xml配置文件

    AndroidManifest.xml启动文件 主activity: <activity android:name="com.example.android01.MainActivit ...

  2. Jquery基本用法总结

    选择器$("#mydiv") 通过ID$("p#myp") 选择id=myp 的所有p元素(组合型)$(".mydiv") 通过 class ...

  3. Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接

    <Windows Azure Platform 系列文章目录> 我们知道,Azure Virtual Network可以 1.将对台Azure VM加入到同一个网段里,同时绑定内网IP地址 ...

  4. 博客已经迁移至http://www.xuechenlei.com

    博客园是个非常好的公共平台,这里总有我想找的东西,本着人生在于折腾的精神和一些个性化的定制,将博客内容迁移到www.xuechenlei.com,时而同步分享到这里,欢迎访问关注:

  5. Java进阶之reflection(反射机制)——反射概念与基础

    反射机制是Java动态性之一,而说到动态性首先得了解动态语言.那么何为动态语言? 一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见 ...

  6. 使用Python将HTML转成PDF

    主要使用的是wkhtmltopdf的Python封装--pdfkit 安装 1. Install python-pdfkit: $ pip install pdfkit 2. Install wkht ...

  7. Dapper学习 - Dapper.Rainbow(一) - Create

    Dapper这个ORM有许多扩展, 我自己用过两种, 也算是比较主流的两种, Rainbow和Extension, 这里就先介绍下Rainbow吧, 毕竟这个先用, 当然, 由于我使用的是mysql数 ...

  8. 基于WinCE的JSON 类库 源码

    基于WinCE的JSON 类库,可以将对象序列化成字符串和文件. 提示,其在反序列化时有一个BUG: 如果对象的某个字段值为 null,将其序列化成字符串,然后将该字符串反序列化成对象时会报异常. 这 ...

  9. [小工具]CSS内嵌样式自动提取器

    逐行分析,将内联样式提取出来,并自动编号代替的一个小工具软件 注:style=""(此处必须是标准的双引号!) http://files.cnblogs.com/quejuwen/ ...

  10. C# Redis使用之StackExchange

    第1章   安装 在.NET平台使用Redis需要做如下准备工作: 创建一个新的Visual Studio应用或者打开一个已经存在的Visual Studio应用. 打开NuGet程序包 搜索并添加S ...