json与python中字典的互相转化

十念  金牌会员 | 2024-10-29 22:25:56 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 684|帖子 684|积分 2052

json的界说

JSON (JavaScript Object Notation) ,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传输、存储和交换数据。可以说是“用更少的编码,有更快的处理速度”,所以深受广大程序员的喜好。
JSON 格式的数据是由键值对组成的,其中键值对之间使用逗号分隔。在 JSON 中,键和值都必须使用双引号引起来。
一段完整的json:
  1. {
  2.   "name": "Simon",
  3.   "age": 2,
  4.   "isMale": true,
  5.   "hobbies": ["reading", "learning", "traveling"],
  6.   "address": {
  7.     "city": "Guangzhou",
  8.     "postCode": "510000"
  9.   },
  10.   "email": null
  11. }
复制代码
json与python中字典互相转化的语法

python与json数据范例的对应关系:

1. python字典→json
语法如下:
json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
  1. import json
  2. #python字典转化为json并保存为json文件格式
  3. data_python={'name': '彼得潘', 'age': None, 'is_employee': True, 'addresses': [{'type': 'home', 'city': 'New York', 'country': 'USA'}, {'type': 'work', 'city': 'San Francisco', 'country': 'USA'}]}
  4. data_json=json.dump(data_python,open('json_data.json','w'),ensure_ascii=False,indent=4) #中文默认是转化为ascii,所以需指定false
  5. print(data_json,type(data_json),sep='\n')
  6. #python字典转化为json
  7. data_python={'name': '彼得潘', 'age': None, 'is_employee': True, 'addresses': [{'type': 'home', 'city': 'New York', 'country': 'USA'}, {'type': 'work', 'city': 'San Francisco', 'country': 'USA'}]}
  8. data_json=json.dumps(data_python,ensure_ascii=False) #中文默认是转化为ascii,所以需指定false
  9. print(data_json,type(data_json),sep='\n')
复制代码
2. json→python字典
语法如下:
json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
  1. import json
  2. #json转化为python字典
  3. data_json='''{
  4.   "name": "彼得潘",
  5.   "age": null,
  6.   "is_employee": true,
  7.   "addresses": [
  8.     {
  9.       "type": "home",
  10.       "city": "New York",
  11.       "country": "USA"
  12.     },
  13.     {
  14.       "type": "work",
  15.       "city": "San Francisco",
  16.       "country": "USA"
  17.     }
  18.   ]
  19. }'''
  20. data_python=json.loads(data_json)
  21. print(data_python,type(data_python),sep='\n')
  22. #读取json文件并将json转化为python字典
  23. data_python=json.load(open('json_data.json'))
  24. print(data_python,type(data_python),sep='\n')
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表