在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文件内容如下:

执行结果如下:

{u'\u4e2d\u6587': u'kel', u'fist': u'kel'}

{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

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文件如下:

kel.py内容如下:

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import json

j = json.loads(open('kel.txt').read())

print type(j),j

双引号。。。单引号,傻傻的分不清楚

有的时候,在进行loads方法的时候,就是因为产生了单引号的字符串。。。在python中尤其如此,和其他的东西没啥关系,主要就是引号的关系!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

更多详解python中的json的基本使用方法相关文章请关注PHP中文网!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

python json方法详解_详解python中的json的基本使用方法相关推荐

  1. 0编译器详解_详解Java枚举类型(Enum)中的方法

    文章前记 程序员工作久了便可能整日忙碌于"增删改查"中,迷失方向,毫无进步. 该公众号致力于分享软件开发相关的原创干货,助你完成从程序员到架构师的进阶之路! 努力!做一个NB的Co ...

  2. Vscode——编辑setting.json,但显示“无法在只读编辑器中编辑”的一种解决方法

    Vscode--编辑setting.json,但显示"无法在只读编辑器中编辑"的一种解决方法 一.遇到的问题 二.解决方法 1.打开"设置",输入想编辑的参数名 ...

  3. python super()方法的作用_详解python的super()的作用和原理

    Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递.uz0免费资源网 今天我们介绍的主角是s ...

  4. python代码执行过程记录_详解python程序中记录日志的方法

    日志可以用来记录应用程序的状态.错误和信息消息,也经常作为调试程序的工具.它的重要性就不多说了,直接进入正题. python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.IN ...

  5. python json模块详解_深入解析Python编程中JSON模块的使用

    JSON编码支持的基本数据类型为 None , bool , int , float 和 str , 以及包含这些类型数据的lists,tuples和dictionaries. 对于dictionar ...

  6. python从random生成列表_详解Python利用random生成一个列表内的随机数

    详解Python利用random生成一个列表内的随机数 首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range ...

  7. python 安装pandas 权限不够_详解Python学习之安装pandas

    一.python pip的安装与使用 1.pip 是 python 包管理工具,该工具提供了对python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包 ...

  8. python 线程安全的数据类型_详解python多线程、锁、event事件机制的简单使用

    详解python多线程.锁.event事件机制的简单使用 发布时间:2020-09-25 02:04:12 来源:脚本之家 阅读:117 作者:君惜 线程和进程 1.线程共享创建它的进程的地址空间,进 ...

  9. python命令窗口在哪里_详解如何在cmd命令窗口中搭建简单的python开发环境

    详解如何在cmd命令窗口中搭建简单的python开发环境 1.快捷键win+r输入cmd回车调出cmd界面,在命令行输入python回车,显示python命令无法识别 2.登陆python官网http ...

最新文章

  1. keepalived and heartbeat
  2. MPB:扬大林淼组-​瘤胃混合细菌连续传代培养技术
  3. Amazon AWS云计算服务平台概述
  4. kaka 1.0.0 重磅发布,服务于后端的事件领域模型框架。
  5. mysql 查询slow log状态,MySQL开启慢查询日志log-slow-queries的方法
  6. html坐标轴背景色,CSS 背景(css background)
  7. HDU 4117 GRE Words
  8. vhg电路是什么意思_值得珍藏的经典模拟电路
  9. spring-data-jpa动态条件查询
  10. Codeforces Round #484 (Div. 2) D. Shark
  11. configure:13747: error: You requested FFmpeg (h264, h263, theora, mp4v-es) but not found...die
  12. MySQL-快速入门(5)数据查询-常用关键字、分组查询、聚合函数
  13. 好看的android动画效果
  14. 使用Eclipse IDE的技巧
  15. kafka利用自带的zookeeper进行集群部署
  16. Lenovo 拯救者15ISK硬件升级
  17. Android自定义实现点赞效果!
  18. Windows安装配置Oracle
  19. [RK3399]电磁屏:优派viewsonic与扩展IO(PCA9534)
  20. Ubuntu下安装搜狗输入法、截屏软件、谷歌浏览器

热门文章

  1. Excel函数之— SUMPRODUCT用法(二),太强大了
  2. 帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件
  3. 视口锁定解锁lisp_CAD锁定和解锁视口的快捷键分别是什么
  4. 回归预测 | MATLAB实现PLS(偏最小二乘法)和PCR(主成分回归)多输入单输出
  5. Ubuntu20.04+ROS Noetic的安装与配置(win10系统下)
  6. Flex移动皮肤-第一部分:增强的皮肤功能基础
  7. 视频教程-①Spring Cloud 第一季(初级入门篇)-Java
  8. Eye Diagram眼图测量
  9. 小米6Android无响应,小米手机mui12 android9 App跳转微信小程序无任何响应。求解决...
  10. 小米电视是鸿蒙系统吗,搭载鸿蒙系统!华为正式发布荣耀智慧屏 小米电视迅速升级取消开机广告...