详解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 相关文章推荐
在类Unix系统上开始Python3编程入门
Aug 20 Python
numpy.delete删除一列或多列的方法
Apr 03 Python
Python实现的端口扫描功能示例
Apr 08 Python
python将回车作为输入内容的实例
Jun 23 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python networkx 根据图的权重画图实现
Jul 10 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python实现飞机大战小游戏
Nov 08 Python
python-视频分帧&amp;多帧合成视频实例
Dec 10 Python
Python configparser模块配置文件过程解析
Mar 03 Python
Selenium向iframe富文本框输入内容过程图解
Apr 10 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 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初学者头疼问题总结
2006/07/08 PHP
PHP获取网卡地址的代码
2008/04/09 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
Python显示进度条的方法
2014/09/20 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python绘制简单折线图代码示例
2017/12/19 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
selenium自动化测试入门实战
2020/12/21 Python
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
如何提高JDBC的性能
2013/04/30 面试题
学生干部的自我评价分享
2014/01/18 职场文书
追悼会子女答谢词
2014/01/28 职场文书
研究生毕业鉴定
2014/01/29 职场文书
教师师德反思材料
2014/02/15 职场文书
环境卫生标语
2014/06/09 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
2015年考研复习计划
2015/01/19 职场文书
如何写新闻稿
2015/07/18 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
Pytest中skip skipif跳过用例详解
2021/06/30 Python
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android