使用json.dumps处理列表时移除生成的括号 满足API入参要求
问题根因
API要求contacts下的value字段为逗号分隔的邮箱字符串,但你当前给该字段赋值的是Python列表类型,json.dumps()序列化时会自动将列表转为JSON数组,因此会出现不需要的方括号。
解决方案
将邮箱列表拼接为符合要求的逗号分隔字符串即可,只需修改value字段的赋值逻辑:
import pandas as pd import json df = pd.DataFrame({'email': ["dan@git.com", "me@git.com"]}) dict_params = { "clientId":"some_client", "apiKey":"some_key", "requestTime": "millis", "sha":"some_sha", "owner": "owner@somewhere.com", "contacts": [ { "addresseeType": "email", # 核心修改:用join将邮箱列转为逗号+空格分隔的字符串 "value": ", ".join(df["email"]) } ] } result = json.dumps(dict_params, indent=2) print(result)
提示:如果邮箱列存在空值,可先调用
dropna()过滤无效值:", ".join(df["email"].dropna())
输出结果
执行后输出的JSON格式完全符合API要求:
{ "clientId": "some_client", "apiKey": "some_key", "requestTime": "millis", "sha": "some_sha", "owner": "owner@somewhere.com", "contacts": [ { "addresseeType": "email", "value": "dan@git.com, me@git.com" } ] }
内容的提问来源于stack exchange,提问作者Teett
相关产品推荐
相关产品推荐

