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 相关文章推荐
django中send_mail功能实现详解
Feb 06 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
pycharm安装和首次使用教程
Aug 27 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
python中正则表达式 re.findall 用法
Oct 23 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
python画图常规设置方式
Mar 05 Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 Python
python 写一个文件分发小程序
Dec 05 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 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
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
php批量上传的实现代码
2013/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
syntaxhighlighter 使用方法
2007/07/02 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
JavaScript:Date类型全面解析
2016/05/19 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
python读取oracle函数返回值
2016/07/18 Python
python中logging包的使用总结
2018/02/28 Python
Python3.6简单反射操作示例
2018/06/14 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
经典c++面试题五
2014/12/17 面试题
小学岗位竞聘方案
2014/01/22 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书