详解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里对list中的整数求平均并排序
Sep 12 Python
python统计日志ip访问数的方法
Jul 06 Python
Python读写及备份oracle数据库操作示例
May 17 Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
selenium 安装与chromedriver安装的方法步骤
Jun 12 Python
Python 实现还原已撤回的微信消息
Jun 18 Python
python实现图片九宫格分割
Mar 07 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
用Python实现职工信息管理系统
Dec 30 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/11/25 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
新手简单了解vue
2019/05/29 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
python实现textrank关键词提取
2018/06/22 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
历史学专业推荐信
2013/11/06 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
幼儿园见习总结
2015/06/23 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
python基于turtle绘制几何图形
2021/06/15 Python