Python3实现的字典、列表和json对象互转功能示例

yipeiwu_com6年前Python基础

本文实例讲述了Python3实现的字典、列表和json对象互转功能。分享给大家供大家参考,具体如下:

python3可以使用json模块操作json

json.dumps(): 对json进行编码,对应php的json_encode()

json.loads(): 对json进行解码,对应php的json_decode()

test.py

#!/usr/bin/python3
import json
#python字典类型转换为json对象
data = {
  'id' : 1,
  'name' : 'test1',
  'age' : '1'
}
data2 = [{
  'id' : 1,
  'name' : 'test1',
  'age' : '1'
},{
  'id' : 2,
  'name' : 'test2',
  'age' : '2'
}]
json_str = json.dumps(data)
print ("python原始数据:", repr(data))
print ("json对象:", json_str)
json_str2 = json.dumps(data2)
print ("python原始数据:", repr(data2))
print ("json对象:", json_str2)
# 将json对象转换为python字典
data3 = json.loads(json_str)
print ("data3['name']: ", data3['name'])
print ("data3['age']: ", data3['age'])

执行结果

[root@mail pythonCode]# python3 test.py
python原始数据: {'id': 1, 'name': 'test1', 'age': '1'}
json对象: {"id": 1, "name": "test1", "age": "1"}
python原始数据: [{'id': 1, 'name': 'test1', 'age': '1'}, {'id': 2, 'name': 'test2', 'age': '2'}]
json对象: [{"id": 1, "name": "test1", "age": "1"}, {"id": 2, "name": "test2", "age": "2"}]
data3['name']:  test1
data3['age']:  1

PS:关于json操作,这里再为大家推荐几款比较实用的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快速排序的实现及运行时间比较

python快速排序的实现及运行时间比较

快速排序的基本思想:首先选定一个数组中的一个初始值,将数组中比该值小的放在左边,比该值大的放在右边,然后分别对左边的数组进行如上的操作,对右边的数组进行如上的操作。(分治+递归) 1.利...

Python with用法:自动关闭文件进程

实际上,Python 提供了 with 语句来管理资源关闭。比如可以把打开的文件放在 with 语句中,这样 with 语句就会帮我们自动关闭文件。 with 语句的语法格式如下:...

pandas or sql计算前后两行数据间的增值方法

遇到这样一个需求,有一张表,要给这张表新增一个字段delta,delta的值等于每行的c1列的值减去上一行c1列的值。 我的解决方案,可以通过python的pandas的diff来实现,...

Python中生成器和迭代器的区别详解

Python中生成器和迭代器的区别(代码在Python3.5下测试): Num01–>迭代器 定义: 对于list、string、tuple、dict等这些容器对象,使用for循环...

HTML中使用python屏蔽一些基本功能的方法

进行数据解析的理由不计其数,相关的工具和技巧也同样如此。但是,当您需要用这些数据做一些新的事情时,即使有“合适的”工具可能也是不够的。这一担心对于异类数据源的集成同样存在。用来做这项工作...