python - 将 JSON 值转换为字符串
问题描述
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 数据遍历的入门,我建议查看这个答案。
推荐阅读
- javascript - 在Vue中更新父数组中的子组件的正确方法是什么?
- php - CI:(计数行)具有相同的 ID
- xamarin.forms - CollectionView 中的条目控件不会更新它们绑定到的源(Xamarin.Forms,UWP)
- vim - 如何禁用 vim 内置关键字自动补全?
- lua - Roblox 数据存储只有一个键的 DNS 错误?
- python - 如何在单个约束下计算 Python 中两个数组中的值?
- javascript - 如何检测 sapui 5 表中的选定行并从中获取数据?
- c# - 此按钮操作是否正确编程
- c++ - 如何保证VirtualAlloc分配的虚拟内存地址在2-4GB之间
- php - 如果用户发送命令,电报机器人会回复一个聊天 ID