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实现WebSocket服务端过程解析

python实现WebSocket服务端过程解析

一种类似Flask开发的WebSocket-Server服务端框架,适用python3.X 1、安装模块Pywss pip install pywss 2、搭建简易服务器 2....

Selenium的使用详解

Selenium的使用详解

先来看一下功能实现,代码如下: from selenium import webdriver from selenium.webdriver.common.by import By...

解析Python中的eval()、exec()及其相关函数

刚好前些天有人提到eval()与exec()这两个函数,所以就翻了下Python的文档。这里就来简单说一下这两个函数以及与它们相关的几个函数,如globals()、locals()和co...

python中for循环输出列表索引与对应的值方法

python中for循环输出列表索引与对应的值方法

如下所示: list = [‘a','b','c'] 想用for循环输出list的元素以及对应的索引。 代码及结果如下: 以上这篇python中for循环输出列表索引与对应的值...

在pytorch中对非叶节点的变量计算梯度实例

在pytorch中对非叶节点的变量计算梯度实例

在pytorch中一般只对叶节点进行梯度计算,也就是下图中的d,e节点,而对非叶节点,也即是c,b节点则没有显式地去保留其中间计算过程中的梯度(因为一般来说只有叶节点才需要去更新),这样...