详解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中的多重继承实例讲解
Sep 28 Python
python解析基于xml格式的日志文件
Feb 25 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
Python使用matplotlib绘制Logistic曲线操作示例
Nov 28 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
pandas to_excel 添加颜色操作
Jul 14 Python
python regex库实例用法总结
Jan 03 Python
python实现三阶魔方还原的示例代码
Apr 28 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图片上传程序
2008/03/27 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python交换变量
2008/09/06 Python
Python常用列表数据结构小结
2014/08/06 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python封装shell命令实例分析
2015/05/05 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python中map的基本用法示例
2018/09/10 Python
python将list转为matrix的方法
2018/12/12 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
opencv python如何实现图像二值化
2020/02/03 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
数据管理员的自我评价分享
2013/11/15 职场文书
函授本科自我鉴定
2014/02/04 职场文书
大学军训感言800字
2014/02/27 职场文书