今天在观察python脚本的时候,看到了python解析jason数据这么一段。
经过相关查找,终于弄清楚了python是怎么解析jason结构,取得数据的。
我们通过以下命令:
target = urlopen(url, 'utf8')
try:
target = json.loads(target)
except:
print 'load json error!!'
取得了这么一段jason数据:
{
"title": "报表",
"tables": {
"example1": {
"id": "first",
"values": [
{
"key": "one",
"value": "1234"
},
{
"key": "two",
"value": "12345"
},
{
"key": "three",
"value": "123456"
},
]
},
"example2": {
"id": "second",
"values": [
{
"key": "four",
"value": "321"
},
{
"key": "five",
"value": "4321"
},
},
}
}
我们应该如何拿到里面的数据呢?比如说拿到key为“three”,value为“123456”的值,那么我们可以这样获取数据:
get_value = target['tables']['example1']['values'][2]['value']
首先,需要理解jason的结构:
写道
JSON建构于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
写道
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
而python会把对应的jason结构翻译过来,对应的关系如下:
JSON
Python
object |
dict |
array |
list |
string |
unicode |
number (int) |
int, long |
number (real) |
float |
true |
True |
false |
False |
null |
None |
所以我们使用 get_value = target['tables']['example1']['values'][2]['value'] 就可以得到“123456”这个值。
同理,使用 get_value = target['tables']['example2']['values'][0]['key']就可以得到“four”这个值了。
本文只是简单的分析,并没有深入研究,
待到对python的学习再深入一点再回头来看看,应该会有很大的改进!
:)
参考:http://www.json.org/json-zh.html
http://docs.python.org/library/json.html
- 大小: 4.3 KB
- 大小: 3.6 KB
- 大小: 6.5 KB
分享到:
相关推荐
step2:数据解析,也是核心部分,数据格式从python角度去理解,是字典?列表?还是各种嵌套? step3:连接mysql数据库,将数据写入。 从功能上看,该数据获取程序可以分为3个方法,即step1对应方法request_data(),...
"Jason解析和生成工具类"指的是一个编程工具,它提供了对JSON数据进行解析和生成的函数或类库。这样的工具通常包含以下功能: 1. **解析JSON**:将JSON格式的字符串转换为程序内部的数据结构,如对象或数组。例如,...
"jason_server-0.8.1-py2.py3-none-any.whl" 是一个针对Python的特定库的压缩包文件,名为“jason_server”,版本号为0.8.1。这个文件是Python的wheel格式,它是一种预先编译的Python分发包,使得安装过程更为便捷。...
3. 将解析后的数据映射到PB9的数据结构:这可能涉及创建新的对象或填充已有的数据表。 例如,一个解析JSON的函数可能如下所示: ```python function object ParseJson(string jsonString) // 创建一个空字典来...
在"Jason关于jason解析的实例"中,我们可以深入探讨以下几个关键知识点: 1. **JSON的基本结构**:JSON的数据结构主要由对象(Object)和数组(Array)组成。对象是键值对的集合,用花括号{}包围,键与值之间用冒号...
【iOS Jason鬼脸解析工具】是一款专为iOS设备设计的JSON文件分析工具,它能够帮助开发者和普通用户方便地生成、查看和理解JSON数据。在iOS应用开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言,包括C、C++、C#、Java、JavaScript、Perl、Python等。JSON易于人阅读和编写,同时也...
在IT行业中,Python是一种广泛应用的编程语言,尤其在数据处理和人工智能领域。本文将深入探讨如何使用Python来实现Alphapose骨骼关键点信息的提取,这是一个涉及到图像处理和计算机视觉的重要任务。Alphapose是一款...
Jason,全称为JavaScript Object Notation,是一种轻量级的数据交换格式,它以文本形式存储和传输数据,易于人阅读和编写,同时也易于机器解析和生成。另一方面,Excel则是Microsoft Office套件中的电子表格程序,...
在Mac平台上,"Jason鬼脸"是一款专为JSON数据处理设计的应用程序,它提供了一种简单易用的方式来解析、格式化以及与后端系统交互JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用...
2. **数据验证**:解析后的数据可能需要进行类型检查或验证,以确保其符合预期的结构和内容。 3. **安全考虑**:避免JSON注入攻击,对用户输入的数据进行严格的过滤和转义,防止恶意数据篡改JSON结构。 **五、示例...
描述中提到"asp调用jason数据,使用jason类。可以调用多种格式的jason数据。"这表明这个"jason"类提供了丰富的功能,能够处理不同结构和格式的JSON数据。在ASP中,通常我们需要将接收到的JSON字符串转换为ASP可以...
1. Python:Python有内置的json模块,可以方便地进行Jason数据的序列化和反序列化。 2. JavaScript:JavaScript原生支持JSON,可以通过`JSON.parse()`和`JSON.stringify()`方法进行操作。 3. Java:Java有`...
Python网络编程是一个广泛的...总之,Python网络编程涵盖了从基础的网络请求到复杂的爬虫开发,涉及HTTP协议、数据解析、数据存储等多个方面。通过学习和实践,你可以构建自己的网络应用,甚至构建高效的数据抓取系统。
在实际开发中,可以利用JavaScript或其他支持JSON的编程语言(如Python、Java等)解析这些数据。例如,使用JavaScript的`JSON.parse()`函数将字符串化的JSON转换为JavaScript对象,然后通过遍历对象结构来渲染UI或...
3. **应用广泛**:无论是Web开发、数据分析还是人工智能等领域,Python都有着广泛的应用场景。 4. **培养逻辑思维**:通过编程解决问题的过程可以锻炼孩子们的逻辑思维能力。 ##### 三、书籍内容概览 根据提供的...
- **数据库交互**:本书还介绍了如何利用Python连接数据库并进行数据操作。 - **图形用户界面**:对于希望开发桌面应用的读者来说,本书也提供了关于GUI编程的基础知识。 #### 六、实践项目引导 - **实战案例**:...
它基于JavaScript对象表示法(JSON),因为JSON是互联网上最广泛使用的数据格式之一,易于阅读和编写,同时也容易被机器解析和生成。在本例中,"陕西省geojson数据"包含了陕西省所有市区的地理空间信息。 GeoJSON...
描述中提到“全国街道的Jason数据齐全”,这告诉我们内部数据是以JSON(JavaScript Object Notation)格式存储的。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它常用于Web服务和...
描述中的内容与标题相同,再次强调了这是"PorketJokes"应用的Jason数据。这可能意味着这个数据集包含了一系列的笑话,每个笑话以JSON对象的形式存在,可能包括笑话的ID、内容、作者、分类等信息。 遗憾的是,没有...