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)方法获得对应 ...
随机推荐
- 豆瓣项目(用react+webpack)
用豆瓣电影api的项目 电影列表组件渲染 步骤: 1. 发送Ajax请求 1.1 在组件的componentWillMount这个生命周期钩子中发送请求 1.2 发送ajax XMLHttpReque ...
- 利用JavaScript的if语句判断元素显示隐藏
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...
- Struts2框架学习(二)——访问流程及架构
1.Struts2的执行流程 从客户端发送请求过来,先经过前端控制器(核心过滤器StrutsPrepareAndExecuteFilter)过滤器中执行一组拦截器(一组拦截器就会完成部分功能代码),拦 ...
- swift类型操作规范
type(of:) Applied to an object: the polymorphic (internal) type of the object, regardless of how a r ...
- 配置H3C交换机ftp服务
配置H3C交换机ftp服务,用于与交换机进行文件上传.下载,常用于更新程序上传及配置备份文件下载. 准备工作:三层设备(路由器.三层交换机等)至少一个接口配置IP,二层交换机需配置一个处于UP状态的v ...
- Kattis - Different Distances
Input The input file contains up to 10001000 test cases, each of which contains five real numbers, x ...
- 如何添加删除子网卡eth0:1(linux案例)
这种方法实现了单网卡多IP,我的系统是centos7的,如何添加删除子网卡IP详细请看下面操作例子 添加子网卡IP:ifconfig ens3:1 192.168.0.100/24 ...
- leetCode 929 独特的电子邮件地址
题目: 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名. 除了小写字母 ...
- WEBGL学习【十一】光照模型
<!DOCTYPE HTML> <html lang="en"> <head> <title>Listing 7-3 and 7-4 ...
- sessionStorage缓存滚动条位置
想象在一个列表页,用户上滑页面浏览数据,点击某一条进入详情页,之后再从详情页返回列表页时不会想再从头去查看数据,这就要求我们记录用户刚刚浏览的位置,而不是重新刷新页面到了页面顶部.这里需要用到sess ...