You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3中如何将字典内的JSON字符串值转换为列表?

问题描述

现有Python3环境下的字典d1,其中'result'对应的值是JSON格式的字符串,而非预期的列表结构,示例如下:

d1 = {
    'result': '[{"pod_name": "kafka-9", "resolution_ms": 60000, "value": 420.85}, {"pod_name": "kafka-3", "resolution_ms": 60000, "value": 418.0}]'
}

需要将其转换为'result'值为列表的字典,目标结构如下:

res = {
    'result': [{"pod_name": "kafka-9", "resolution_ms": 60000, "value": 420.85}, {"pod_name": "kafka-3", "resolution_ms": 60000, "value": 418.0}]
}
实现方法

使用Python标准库中的json模块,调用json.loads()方法将JSON格式的字符串解析为Python列表,再替换原字典中的'result'值即可。

基础实现代码

import json

d1 = {
    'result': '[{"pod_name": "kafka-9", "resolution_ms": 60000, "value": 420.85}, {"pod_name": "kafka-3", "resolution_ms": 60000, "value": 418.0}]'
}

# 解析JSON字符串为列表并替换原字段
d1['result'] = json.loads(d1['result'])

# 此时d1已变为目标结构
print(d1)

带异常处理的实现

如果原JSON字符串可能存在格式错误,可添加异常处理逻辑避免程序崩溃:

import json

d1 = {
    'result': '[{"pod_name": "kafka-9", "resolution_ms": 60000, "value": 420.85}, {"pod_name": "kafka-3", "resolution_ms": 60000, "value": 418.0}]'
}

try:
    d1['result'] = json.loads(d1['result'])
except json.JSONDecodeError as e:
    print(f"JSON解析失败: {e}")
    # 可设置默认值或其他错误处理逻辑
    d1['result'] = []

内容的提问来源于stack exchange,提问作者James Xu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:15:38