猿问

手动生成的JSON有效,但是通过json.dumps创建的JSON即使输出看起来完全相同也不起作用

我正在Marketo通过 Python 库marketo-rest-python使用API 。我可以创建潜在客户并通过以下基本代码更新它们:


leads = [{"email":"joe@example.com","firstName":"Joe"},{"email":"jill@example.com","firstName":"Jill"}]

lead = mc.execute(method='create_update_leads', leads=leads, action='createOnly', lookupField='email', 

                asyncProcessing='false', partitionName='Default')

当我以编程方式创建这个“引导”JSON 对象时


leads = []


lead = {}

lead['email'] = "joe@example.com"

lead['firstName'] = "Joe"

leads.append(lead)


lead = {}

lead['email'] = "jill@example.com"

lead['firstName'] = "Jill"

leads.append(lead)


json_leads = json.dumps(leads, separators=(',', ':'))


print(json_leads)

然后,Microsoft Azure Databricks中的输出完全相同,但是Marketo系统向我返回609->无效JSON。


我的输出看起来像


[{"email":"joe@example.com","firstName":"Joe"},{"email":"jill@example.com","firstName":"Jill"}]

它与示例中的完全相同。当我使用示例JSON代码行时,它可以工作,但是我自己生成的JSOn不起作用。


任何人都知道这会是什么?我在 Microsoft Azure Databricks 中使用 Python。


皈依舞
浏览 206回答 1
1回答

HUWWW

我相信你不需要打电话json.dumps,就这样做leads = []lead = {}lead['email'] = "joe@example.com"lead['firstName'] = "Joe"leads.append(lead)lead = {}lead['email'] = "jill@example.com"lead['firstName'] = "Jill"leads.append(lead)lead = mc.execute(method='create_update_leads', leads=leads, action='createOnly', lookupField='email', asyncProcessing='false', partitionName='Default')
随时随地看视频慕课网APP

相关分类

Python
我要回答