【python】json和字典的区别///the JSON object must be str, bytes or bytearray, not dict

写代码时候犯了个低级错误

格式有误,不能是字典

my_dict = {
    "user_name": "lxh3",
    "age": 21,
    "gender": 1,
    "birthday": "2002-2-4"
}

json_str = '{"user_name": "lxh3", "age": 21, "gender": 1, "birthday": "2002-2-4"}'

my_list = [my_dict["user_name"], my_dict["age"], my_dict["gender"], my_dict["birthday"]]

print(my_dict)
print(json_str)
print(my_list)

此代码包括一个字典、一个JSON字符串和一个列表。
可以对比着看一下区别

使用哪种,可根据实际业务需求来看

字典json列表
最大长度(未写出即无限制)

python-32bit:44739243

JavaScript:40mb

MySQL:max_allowed_packet

python-32:536870912

python-64:1152921504606846975

实现方式(本质)哈希表文本数组
时间复杂度(查找)O(1)O(n)O(n)

三者之间可以根据具体情况进行格式转化

字典转json

import json

dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
json_str = json.dumps(dict)
print(json_str)

字典转列表

my_dict = {"a": 1, "b": 2, "c": 3}
my_list = list(my_dict.items())
print(my_list)

json转字典

import json

json_str = '{"name": "Alice", "age": 25, "city": "New York"}'
dict = json.loads(json_str)
print(dict)

json转列表

import json

json_str = '[{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}, {"name": "Charlie", "age": 35}]'
my_list = json.loads(json_str)
print(my_list)

列表转字典

my_list = [('a', 1), ('b', 2), ('c', 3)]
my_dict = dict(my_list)
print(my_dict)

列表转json

import json

my_list = ['a', 'b', 'c']
json_str = json.dumps(my_list)
print(json_str)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值