Python json.dumps后的数据获取对应key的Value 代码
时间: 2023-05-10 19:55:55 浏览: 77
可以使用Python的json.loads()函数将json字符串转换为Python字典,然后通过字典的键来获取对应的值。示例代码如下:
import json
# json字符串
json_str = '{"name": "张三", "age": 18, "gender": "男"}'
# 将json字符串转换为Python字典
data = json.loads(json_str)
# 获取键为"name"的值
name = data["name"]
print(name) # 输出:张三
# 获取键为"age"的值
age = data["age"]
print(age) # 输出:18
# 获取键为"gender"的值
gender = data["gender"]
print(gender) # 输出:男
相关问题
python json.dump输出不换行
在使用`json.dump`函数输出JSON数据时,默认情况下是以换行的方式输出的。如果你想让它输出在同一行,可以通过设置参数`separators`来实现。
`separators`参数是一个元组,其中包含两个字符串,分别是key-value之间的分隔符和item之间的分隔符。我们可以将这两个分隔符都设置为空字符串,这样就可以将输出结果合并为一行。下面是示例代码:
```python
import json
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
# 将分隔符设置为空字符串,实现输出不换行
json_str = json.dumps(data, separators=(',', ':'))
print(json_str)
```
运行以上代码,输出将会是一个没有换行符的JSON字符串:
```shell
{"name":"John","age":30,"city":"New York"}
```
通过以上方式,我们可以在使用`json.dump`输出JSON数据时避免换行。
json.dumps(test_data) 报错TypeError: keys must be str, int, float, bool or None, not type
这个错误提示通常是由于在使用 `json.dumps()` 函数时,字典中包含了不支持的键类型。在 Python 中,JSON 对象的键必须是字符串类型,而不是其他类型的对象。例如,如果你尝试将一个字典中包含自定义对象作为键的 JSON 对象序列化为字符串,就会出现这个错误。
要解决这个问题,你需要检查你的字典中的键是否都是字符串类型。如果你的字典中包含其他类型的键,你需要将其转换为字符串类型,例如:
```python
import json
class MyObject:
def __init__(self, name):
self.name = name
my_dict = {MyObject('foo'): 'bar'}
# 转换字典中的键为字符串类型
new_dict = {str(key): value for key, value in my_dict.items()}
# 将字典转换为 JSON 格式的字符串
json_data = json.dumps(new_dict)
print(json_data)
```
在上面的示例中,我们定义了一个自定义对象 `MyObject`,并将其作为字典的键。为了解决这个问题,我们使用字典推导式将字典中的键转换为字符串类型,并将结果存储在新的字典 `new_dict` 中。然后,我们使用 `json.dumps()` 函数将新的字典转换为 JSON 格式的字符串。