Python3.8中如何提取JSON对象shipping_address字段的收货人姓名
问题原因说明
你看到的JSON示例里的\n是换行符的转义表示,实际存储在Python字符串里的是换行符本身,不存在单独的反斜杠字符,所以你按反斜杠位置截取的逻辑自然会失败。
可行解决方案
收货人姓名固定是shipping_address字段的第一行内容,你只需要将该字段按换行符分割,取第一个元素即可,修改后的代码如下:
import requests # 若你代码里没导入requests需要先加这行 response = requests.get(url).json() print('Number of orders: '+str(len(response['orders']))) print() for order in response['orders']: # 按换行符分割字符串,取第一个元素就是第一行的姓名,加strip()可过滤首尾多余空白 name = order['shipping_address'].split('\n')[0].strip() print(name) print()
特殊场景兼容
如果遇到部分地址第一行是空行的情况,可以加一层空行过滤逻辑,取第一个非空行即可:
for order in response['orders']: # 分割后过滤所有全空白的行 valid_lines = [line.strip() for line in order['shipping_address'].split('\n') if line.strip()] name = valid_lines[0] print(name) print()
内容的提问来源于stack exchange,提问作者tanzmusik
相关产品推荐
相关产品推荐

