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 ljust rjust center输出
Sep 06 Python
python下载文件时显示下载进度的方法
Apr 02 Python
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 Python
python文件选择对话框的操作方法
Jun 27 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
python return逻辑判断表达式实现解析
Dec 02 Python
python实现ip地址的包含关系判断
Feb 07 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
Python中如何添加自定义模块
Jun 09 Python
Python Django搭建文件下载服务器的实现
May 10 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
实例讲解python函数式编程
2014/06/09 Python
Python数据结构之图的应用示例
2018/05/11 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
金融专业个人求职信
2013/09/22 职场文书
市场营销专业毕业生自荐信
2013/11/02 职场文书
家长给孩子的评语
2014/01/30 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
研修心得体会
2014/09/04 职场文书
2014年度个人总结范文
2015/03/09 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
《包身工》教学反思
2016/02/23 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android