详解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数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
python实现批量nii文件转换为png图像
Jul 18 Python
Python socket服务常用操作代码实例
Jun 22 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
python 实现ping测试延迟的两种方法
Dec 10 Python
利用Python实现学生信息管理系统的完整实例
Dec 30 Python
详解Python openpyxl库的基本应用
Feb 26 Python
numpy数据类型dtype转换实现
Apr 24 Python
python实战之用emoji表情生成文字
May 08 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通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
js数组的操作指南
2014/12/28 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
w3c编程挑战_初级脚本算法实战篇
2017/06/23 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
解析Python编程中的包结构
2015/10/25 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
详解python中的异常捕获
2020/12/15 Python
HTML5注册页面示例代码
2014/03/27 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
EJB的激活机制
2013/10/25 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
高三地理教学反思
2014/01/11 职场文书
大型活动策划方案
2014/01/12 职场文书
先进员工获奖感言
2014/08/14 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python