详解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 02 Python
python实现log日志的示例代码
Apr 28 Python
python更改已存在excel文件的方法
May 03 Python
python实现批量修改图片格式和尺寸
Jun 07 Python
使用Python来开发微信功能
Jun 13 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
对python 树状嵌套结构的实现思路详解
Aug 09 Python
python计算无向图节点度的实例代码
Nov 22 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
记一次django内存异常排查及解决方法
Aug 07 Python
Python实现聚类K-means算法详解
Jul 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验证码代码
2012/02/27 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python的一些用法分享
2012/10/07 Python
Python最长公共子串算法实例
2015/03/07 Python
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
python Zmail模块简介与使用示例
2020/12/19 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
介绍一下gcc特性
2012/01/20 面试题
采购部主管岗位职责
2014/01/01 职场文书
计算机学生求职信范文
2014/01/30 职场文书
青年标兵事迹材料
2014/08/16 职场文书
社区活动策划方案
2014/08/21 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
培训后的感想
2015/08/07 职场文书
AJAX学习笔记
2021/05/18 Javascript
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
Python matplotlib多个子图绘制整合
2022/04/13 Python
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android
5个实用的JavaScript新特性
2022/06/16 Javascript