Python操作json的方法实例分析

yipeiwu_com7年前Python基础

本文实例讲述了Python操作json的方法。分享给大家供大家参考,具体如下:

python中对json操作方法有两种,解码loads()和编码dumps()

简单来说:

import json
dicts = json.loads()   #loads()方法,将json串解码为python对象,字典
json = json.dumps(dicts) #dumps()方法,将python字典编码为json串

简单例子:

>>> import json
>>> dicts = {'name':'test','type':[{'happy':'fish'},{'sad':'man'}]}  #python的字典
>>> print(dicts.keys())        #python的字典可以通过内置的字典方法操作keys 和values
dict_keys(['type', 'name'])
>>> print(dicts['name'])
test
>>> print(dicts['type'][0]['happy'])
fish
>>> print(dicts['type'][1]['sad'])
man
>>> j = json.dumps(dicts)      #通过dumps()方法,将python字典编码为json串
>>> j
'{"type": [{"happy": "fish"}, {"sad": "man"}], "name": "test"}'
>>> print(j['name'])         #json不能通过字典方法获取keys 和 values了。
Traceback (most recent call last):
 File "<pyshell#10>", line 1, in <module>
  print(j['name'])
TypeError: string indices must be integers

更多的信息,可以参考python内部的json文档:

python>>> help(json)

如下图所示:

或者官方文档:
http://docs.python.org/library/json.html

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多Python相关内容感兴趣的读者可查看本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python中Proxypool库的安装与配置

Python中Proxypool库的安装与配置

从github上下载,链接为:https://github.com/jhao104/proxy_pool 下载好之后解压文件,然后将文件夹目录内的D:\proxy_pool-master...

Python实现线程池代码分享

原理:建立一个任务队列,然多个线程都从这个任务队列中取出任务然后执行,当然任务队列要加锁,详细请看代码 import threading import time import sig...

在python中,使用scatter绘制散点图的实例

如下所示: # coding=utf-8 import matplotlib.pyplot as plt x_values=[1,2,3,4,5] y_values=[1,4,9,...

Python中__new__与__init__方法的区别详解

在python2.x中,从object继承得来的类称为新式类(如class A(object))不从object继承得来的类称为经典类(如class A()) 新式类跟经典类的差别主要是...

python中文乱码的解决方法

乱码原因: 源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了! 解决方法: 1、print mystr.deco...