赞
踩
为了让不同的语言都能够相互通用的互相传递数据,JSON就是一种非常良好的中转数据格式。如下图,以Python和C语言互传数据为例:
# json数据的格式可以是: {"name": "admin", "age": 18} # 也可以是: [{"name": "admin", "age": 18}, {"name": "root", "age": 16}, {"name": "张三", "age": 20}]
- # 导入JSON模块
- import json
- # 准备列表,列表内每一个元素都是字典,将其转换为JSON
- data = [{'name': "张三", 'age': 12}, {'name': "李四", 'age': 20}, {'name': "赵武", 'age': 32}]
- # 使用ensure_ascii='False' 表示不使用Ascii转换中文
- # 使用ensure_ascii='True' 表示使用Ascii转换中文
- json_str = json.dumps(data, ensure_ascii=False)
- print(type(json_str))
- print(json_str)
-
-
- # 准备字典,将字典转换为JSON
- data = {'name': "张三", 'age': 12}
- json_str = json.dumps(data, ensure_ascii=False)
- print(type(json_str))
- print(json_str)
-
-
- # 将JSON字符串转换Python数据类型[{k: v, k: v}, {k: v, k: v}]
- s = '[{"name": "张三", "age": 12}, {"name": "李四", "age": 20}, {"name": "赵武", "age": 32}]'
- l = json.loads(s)
- print(type(l))
- print(l)
-
-
- # 将JSON字符串转换Python数据类型{k: v, k: v}
- s = '{"name": "张三", "age": 12}'
- l = json.loads(s)
- print(type(l))
- print(l)
-
-
- 结果:
- <class 'str'>
- [{"name": "张三", "age": 12}, {"name": "李四", "age": 20}, {"name": "赵武", "age": 32}]
-
-
- <class 'str'>
- {"name": "张三", "age": 12}
-
-
- <class 'list'>
- [{'name': '张三', 'age': 12}, {'name': '李四', 'age': 20}, {'name': '赵武', 'age': 32}]
-
-
- <class 'dict'>
- {'name': '张三', 'age': 12}
-
-
1. json:是一种轻量级的数据交互格式, 采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)
Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表
所以JSON可以直接和Python的字典或列表进行无缝转换。
2. json格式数据转化
通过 json.dumps(data) 方法把python数据转化为了 json数据
data = json.dumps(data)
如果有中文可以带上:ensure_ascii=False参数来确保中文正常转换
通过 json.loads(data) 方法把josn数据转化为了 python列表或字典
data = json.loads(data)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。