python - 将 JSON 值转换为字符串

标签 python json python-3.x

r = '{"available_sizes":[{"id":104682,"name":"40","preorder_only":false},{"id":104683,"name":"41","preorder_only":false},{"id":104684,"name":"42","preorder_only":false},{"id":104685,"name":"43","preorder_only":false},{"id":104687,"name":"45","preorder_only":false}]}'

data = json.loads(r)

for element in data: 
    for value in data['available_sizes']:
        print(value['name'])

目前打印出以下内容:

40
41
42
43
45

然后我如何使用这些数据作为字符串?以下是所需的输出。

Available sizes are 40, 41, 41, 43, 45

最佳答案

最外层的循环是多余的,因为您只有一个键可以迭代。

迭代data,将数字附加到列表中,然后在最后调用str.join以有效地将字符串连接在一起。

nums = []
for v in data['available_sizes']:
    nums.append(str(v['name']))  # v['name'] if it is already string

print(f'Available sizes are {', '.join(nums)}')

您可以使用列表理解重写循环 -

num_str = ', '.join([v['name'] for v in data['available_sizes']])
print(f'Available sizes are {num_str}')  

有关 JSON 数据遍历的入门知识,我建议查看 this answer .

关于python - 将 JSON 值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50778569/

相关文章:

python - 如何异或两个十六进制字符串,以便每个字节分别异或?

python - 从 Python 脚本运行时找不到 Nmap

python - 游戏错误 : Video System not Initialized

javascript - 使用带有 javascript 的 hashmap 计算重复的 JSON 数组值

python - 如何在 docker 容器中使用 'keyboard' python 模块而不出现错误?

python - 如何从 Google Colab 笔记本运行 '.py' 文件中的 Python 脚本?

python - Gtk* 后端需要安装 pygtk

javascript - 如何使用 Angular JS 对 json 数组中的前 5 个元素进行排序和选择

python - 有没有办法检查嵌套的字典值,如果它们有 0 或 null 或空字符串,则在 python 中删除它们

python - 在 python 3 和 2 中工作的 Unicode 文字