Python—JSON数据解析
1.安装pip
pip是python的包管理工具,使用它能非常方便地安装和卸载各种python工具包
第一步:直接用浏览器访问地址:https://raw.github.com/pypa/pip/master/contrib/get-pip.py,直接打开了get-pip.py的源代码,可以直接把内容拷贝出来,然后在本地创建get-pip.py
第二步:控制台进入到get-pip.py所在目录,运行代码:
python get-pip.py
pip默认安装实在当前版本python目录的script下,所以将此目录设置到环境变量path中即可,我的目录是 C:\Python27\Scripts
2.安装demjson模块
windows下,打开cmd控制台窗口,使用pip命令安装,命令如下:
pip install demjson
3.json字符串和python对象之间转换的示例代码如下
# -*- coding:UTF-8 -*-
'''
Created on 2015年9月14日 @author: xiaowenhui
''' import demjson '''
encode:编码,将python对象编码成JSON字符串
decode:解码,将JSON字符串解码成python对象
''' data1 = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json1 = demjson.encode(data1)
print json1 json2 = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
data2 = demjson.decode(json2)
print data json3 = "{'Transformers': {'rating': 'R', 'description': 'A schientific fiction', 'format': 'DVD', 'stars': '8', 'year': '1989', 'type': 'Anime, Science Fiction'}, 'Ishtar': {'rating': 'PG', 'type': 'Comedy', 'description': 'Viewable boredom', 'stars': '2', 'format': 'VHS'}, 'Enemy Behind': {'rating': 'PG', 'description': 'Talk about a US-Japan war', 'format': 'DVD', 'stars': '10', 'year': '2003', 'type': 'War, Thriller'}, 'Trigun': {'rating': 'PG', 'description': 'Vash the Stampede!', 'format': 'DVD', 'episodes': '4', 'stars': '10', 'type': 'Anime, Action'}}"
data3 = demjson.decode(json3)
print data3
输出结果如下:
[{"a":1,"b":2,"c":3,"d":4,"e":5}]
[{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}]
{u'Enemy Behind': {u'rating': u'PG', u'description': u'Talk about a US-Japan war', u'format': u'DVD', u'stars': u'', u'year': u'', u'type': u'War, Thriller'}, u'Ishtar': {u'rating': u'PG', u'type': u'Comedy', u'description': u'Viewable boredom', u'stars': u'', u'format': u'VHS'}, u'Transformers': {u'rating': u'R', u'description': u'A schientific fiction', u'format': u'DVD', u'stars': u'', u'year': u'', u'type': u'Anime, Science Fiction'}, u'Trigun': {u'rating': u'PG', u'description': u'Vash the Stampede!', u'format': u'DVD', u'episodes': u'', u'stars': u'', u'type': u'Anime, Action'}}
Python—JSON数据解析的更多相关文章
- Python | JSON 数据解析(Json & JsonPath)
一.什么是JSON? JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一 ...
- 浅谈JSON数据解析方法
JSON数据解析 JSON是什么?? 如何把JSON数据解析出来 如何把一个字典转换为JSON JSON详细介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交 ...
- iOS - JSON 数据解析
iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...
- JSON数据解析 基础知识及链接收集
JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...
- JSON数据解析(转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
- iOS开发笔记3:XML/JSON数据解析
这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...
- Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题
1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...
随机推荐
- TensorFlow-LSTM序列预测
问题情境:已知某一天内到目前为止股票各个时刻的价格,预测接下来短时间内的价格变化. import tushare as ts import time from collections import n ...
- (转)Webpack2 + Vue2 + Vue-Router2 如何实现懒加载?
webpack2 的中 System.import 方法将被弃用, 推荐改成以下写法: https://www.mmxiaowu.com/article/5848239bd4352863efb5546 ...
- 使用Flask和Bootstrap构建博客系统(1) - 准备篇
技术栈 macOS10.12.5 Python2.7.13 Bootstrap4.0.0-beta.2 virtualenv virtualenvwrapper 安装Python2.7.13 下载Bo ...
- hibernate用注解配置实体类的映射
一.注解类 1. @Table 声明了该实体bean映射指定的表(table),目录(catalog)和schema名字 2. @Id 声明了该实体bean的标识属性(对应表中的主键). 3. @Co ...
- 离线安装ADT和sdk
重装Eclipse.离线安装ADT.Android SDK 由于最新的ADT.Android SDK需要最新版本的Eclipse才能使用,我无奈的只好升级Eclipse.看看自己的Eclipse已经两 ...
- Swift 中实现 Promise 模式
在异步编程中,除了竟态处理.资源利用以外,另外一个难点就是流程管理.在拥有匿名函数.闭包这些特性的编程语言中,我们通常可以使用回调函数来做一个异步任务完成或失败时的处理.但当我们的业务逻辑逐渐复杂时, ...
- MongoDB 学习笔记(四):索引
一.索引的基本使用 1.建立索引 在shell中为某个key建立索引的方法为:db.集合名.ensureIndex({key:1}),其中的key表示为哪个key建立索引,1表示升序建立索引,而-1表 ...
- Protocol Buffer格式传输
1.简单明了介绍ProtocolBuffer 2. ProtocolBuffer(pb)所做事情其实类似于xml.json,也就是把某种数据结构的信息依照某种格式保存起来.主要用于数据存储.传输等. ...
- java中super和this用法总结
一.this用法 概念:this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的指针. this的用法在java中大致可以分为三种: 1. 普通对象的直接引用:this相当于指向当前对象本身 ...
- HDU-3015 Disharmony Trees [数状数组]
Problem Description One day Sophia finds a very big square. There are n trees in the square. They ar ...