json与python中字典的互相转化

json的定义

JSON (JavaScript Object Notation) ,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传输、存储和交换数据。可以说是“用更少的编码,有更快的处理速度”,所以深受广大程序员的喜爱。

JSON 格式的数据是由键值对组成的,其中键值对之间使用逗号分隔。在 JSON 中,键和值都必须使用双引号引起来。

一段完整的json:

{
  "name": "Simon",
  "age": 2,
  "isMale": true,
  "hobbies": ["reading", "learning", "traveling"],
  "address": {
    "city": "Guangzhou",
    "postCode": "510000"
  },
  "email": null
}

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)

import json 

#python字典转化为json并保存为json文件格式
data_python={'name': '彼得潘', 'age': None, 'is_employee': True, 'addresses': [{'type': 'home', 'city': 'New York', 'country': 'USA'}, {'type': 'work', 'city': 'San Francisco', 'country': 'USA'}]}
data_json=json.dump(data_python,open('json_data.json','w'),ensure_ascii=False,indent=4) #中文默认是转化为ascii,所以需指定false
print(data_json,type(data_json),sep='\n')

#python字典转化为json
data_python={'name': '彼得潘', 'age': None, 'is_employee': True, 'addresses': [{'type': 'home', 'city': 'New York', 'country': 'USA'}, {'type': 'work', 'city': 'San Francisco', 'country': 'USA'}]}
data_json=json.dumps(data_python,ensure_ascii=False) #中文默认是转化为ascii,所以需指定false
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)

import json

#json转化为python字典
data_json='''{
  "name": "彼得潘",
  "age": null,
  "is_employee": true,
  "addresses": [
    {
      "type": "home",
      "city": "New York",
      "country": "USA"
    },
    {
      "type": "work",
      "city": "San Francisco",
      "country": "USA"
    }
  ]
}'''
data_python=json.loads(data_json)
print(data_python,type(data_python),sep='\n')


#读取json文件并将json转化为python字典
data_python=json.load(open('json_data.json'))
print(data_python,type(data_python),sep='\n')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值