Python解析json文件相关知识学习


Posted in Python onMarch 01, 2016

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

今天用python解析一个文本文件,格式如下:

[
{
"Key":"android.permission.ACCESS_CHECKIN_PROPERTIES",
"Title":"访问检入属性",
"Memo":"允许对检入服务上传的属性进行读/写访问。普通应用程序不能使用此权限。",
"Level":0
},
{
"Key":"android.permission.ACCESS_COARSE_LOCATION",
"Title":"大概位置",
"Memo":"访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。",
"Level":1
},
{
"Key":"android.permission.ACCESS_COARSE_LOCATION",
"Title":"大概位置",
"Memo":"访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。",
"Level":1
}
]

开始采用open('filepath').readlines()的方法读取,这样读取的内容都存取到一个列表中,但是我要取每一个{}中的内容取不到,于是考虑用split(',')的方法分离开来,结果把每一个{}里面的内容也根据","分开了。后来请教了网友,说用json方式读取。于是采用以下方式:

#-*-encoding:utf--*-
import json
f = file(r'C:\Users\Tim\Desktop\test.json')
jsonobj = json.load(f)
#列表用序号来查询
print jsonobj[]['Memo']
f.close

运行之后报以下错误:

ValueError: No JSON object could be decoded

重新将json文件以UTF8无BOM方式保存了一下,运行成功了。

另外,对于读取json string可以用以下方式:

s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["", ""]}}')
print s
print s.keys()
print s["name"]
print s["type"]["name"]
print s["type"]["parameter"][]

以上内容给大家介绍了Python解析json文件相关知识,希望对大家有所帮助!

Python 相关文章推荐
python如何通过protobuf实现rpc
Mar 06 Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
简单了解Python matplotlib线的属性
Jun 29 Python
PyTorch中permute的用法详解
Dec 30 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
Python对wav文件的重采样实例
Feb 25 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Python 发送SMTP邮件的简单教程
Jun 24 Python
Django框架模板用法详解
Jun 10 Python
使用简单工厂模式来进行Python的设计模式编程
Mar 01 #Python
Python文件处理
Feb 29 #Python
python 默认参数问题的陷阱
Feb 29 #Python
简要讲解Python编程中线程的创建与锁的使用
Feb 28 #Python
Python中time模块和datetime模块的用法示例
Feb 28 #Python
python 写的一个爬虫程序源码
Feb 28 #Python
Python基础语法(Python基础知识点)
Feb 28 #Python
You might like
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
Apache2 httpd.conf 中文版
2006/12/06 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
获取URL文件名后缀
2013/10/24 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php显示时间常用方法小结
2015/06/05 PHP
php实现倒计时效果
2015/12/19 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
使用Python构建Hopfield网络的教程
2015/04/14 Python
回调函数的意义以及python实现实例
2017/06/20 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
Python如何生成xml文件
2020/06/04 Python
用python实现名片管理系统
2020/06/18 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
Python 实现一个简单的web服务器
2021/01/03 Python
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
2014年大学生四年规划书范文
2014/04/03 职场文书
爱心捐款倡议书
2014/04/14 职场文书
《雷雨》教学反思
2016/02/20 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
Python实现仓库管理系统
2022/05/30 Python