详解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实现简单socket通信的方法
Apr 19 Python
Python实现在线音乐播放器
Mar 03 Python
Python三级菜单的实例
Sep 13 Python
浅析python协程相关概念
Jan 20 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
python实现画出e指数函数的图像
Nov 21 Python
python字符串反转的四种方法详解
Dec 02 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
看看如何用Python绘制小米新版天价logo
Apr 20 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
Python爬虫基础之爬虫的分类知识总结
May 13 Python
python中的sys模块和os模块
Mar 20 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面向对象学习笔记之一 基础概念
2012/10/06 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
python实现的解析crontab配置文件代码
2014/06/30 Python
Python开发常用的一些开源Package分享
2015/02/14 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
职专应届生求职信
2013/11/16 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
作风整顿剖析材料
2014/09/30 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers