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/