详解python中的json的基本使用方法


Posted in Python onDecember 21, 2016

在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口。

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 
import json 
 
print json.load(open('kel.txt')) 
#deserialize string or unicode to python object 
j = json.loads(open('kel.txt').read(),encoding='utf-8') 
print type(j),j 
for i in j: 
  print i 
k = json.dumps(j,encoding='utf-8').decode('utf-8') 
print k

kel.txt文件内容如下:

{ 
  "中文":"kel", 
  "fist":"kel" 
}

执行结果如下:

{u'\u4e2d\u6587': u'kel', u'fist': u'kel'} 
<type 'dict'> {u'\u4e2d\u6587': u'kel', u'fist': u'kel'} 
中文 
fist 
{"\u4e2d\u6587": "kel", "fist": "kel"}

在其中主要使用的方法为json.loads和json.dumps

注意在loads中参数必须为string,从而在打开文件的时候,要使用read方法,否则会出错。

loads方法主要是用来加载json数据变成python中的对象,而dumps方法主要是将python对象修改为json格式。

开始遇到一个错误如下:

[root@python 56]# python kel.py  
Traceback (most recent call last): 
 File "kel.py", line 5, in <module> 
  json.load(open('kel.txt')) 
 File "/usr/local/python/lib/python2.7/json/__init__.py", line 291, in load 
  **kw) 
 File "/usr/local/python/lib/python2.7/json/__init__.py", line 339, in loads 
  return _default_decoder.decode(s) 
 File "/usr/local/python/lib/python2.7/json/decoder.py", line 364, in decode 
  obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
 File "/usr/local/python/lib/python2.7/json/decoder.py", line 382, in raw_decode 
  raise ValueError("No JSON object could be decoded") 
ValueError: No JSON object could be decoded

主要原因是因为,,,在json的数据格式中必须是双引号开头的,错误的json文件如下:

{ 
  "fist":'kel' 
}

kel.py内容如下:

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 
import json 
j = json.loads(open('kel.txt').read()) 
print type(j),j

双引号。。。单引号,傻傻的分不清楚

有的时候,在进行loads方法的时候,就是因为产生了单引号的字符串。。。在python中尤其如此,和其他的东西没啥关系,主要就是引号的关系!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用python获得时间的实例说明
Mar 25 Python
Python Web开发模板引擎优缺点总结
May 06 Python
Python类方法__init__和__del__构造、析构过程分析
Mar 06 Python
python避免死锁方法实例分析
Jun 04 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
Feb 28 Python
Django中的AutoField字段使用
May 18 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
python 读取.nii格式图像实例
Jul 01 Python
Python 串口通信的实现
Sep 29 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 #Python
python查看微信好友是否删除自己
Dec 19 #Python
python用reduce和map把字符串转为数字的方法
Dec 19 #Python
python虚拟环境virualenv的安装与使用
Dec 18 #Python
更改Ubuntu默认python版本的两种方法python-&gt; Anaconda
Dec 18 #Python
python 调用HBase的简单实例
Dec 18 #Python
python操作 hbase 数据的方法
Dec 18 #Python
You might like
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python动态视频下载器的实现方法
2019/09/16 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
西部世纪面试题
2014/12/05 面试题
Linux常见面试题
2016/10/04 面试题
应届大专毕业生个人自荐信
2013/09/22 职场文书
违纪检讨书2000字
2014/02/08 职场文书
2014年保管员工作总结
2014/11/18 职场文书
品质保证书格式
2015/02/28 职场文书
申请吧主发表的感言
2015/08/03 职场文书
小组口号霸气押韵
2015/12/24 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
python之django路由和视图案例教程
2021/07/26 Python