Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PayPal:Python传入JSON请求未映射到API请求_Python_Json_Paypal_Paypal Rest Sdk - Fatal编程技术网

PayPal:Python传入JSON请求未映射到API请求

PayPal:Python传入JSON请求未映射到API请求,python,json,paypal,paypal-rest-sdk,Python,Json,Paypal,Paypal Rest Sdk,我正在尝试使用paypal python sdk将paypal sdk集成到我的网站中。当我像这样手动键入项目列表时: {"name": "Sparzy", "sku": "music beat", "price": "25.0", "currency": "USD", "quantity": 1} 但当我尝试以变量的形式添加它时,例如 itemlist = {"name": "Sparzy", "sku": "music beat", "price": "25.0", "currency":

我正在尝试使用paypal python sdk将paypal sdk集成到我的网站中。当我像这样手动键入项目列表时:

{"name": "Sparzy", "sku": "music beat", "price": "25.0", "currency": "USD", "quantity": 1}
但当我尝试以变量的形式添加它时,例如

itemlist = {"name": "Sparzy", "sku": "music beat", "price": "25.0", "currency": "USD", "quantity": 1}
我得到以下错误:

Payment Error: {u'message': u'Incoming JSON request does not map to API request', u'debug_id': u'394fa35b1b301', u'name': u'MALFORMED_REQUEST', u'information_link': u'https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST'}

我真的需要它作为一个变量,这样当用户向购物车添加producs时,我就可以动态地生成列表。谢谢您的帮助。

我认为您正在尝试将dictonnary用作JSON。这两种语法都相似,但词汇表是Python结构,而JSON是数据格式

在您所说的评论中,使用您的
项目列表
措辞如下:

"transactions": [{
    "item_list": { "items": [ itemlist ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}]
如果这是要发送的entiere JSON数据,可以执行以下操作:

dict_data = "transactions": [{
    "item_list": { "items": [ itemlist ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
json_data = json.dumps(dict_data)
json_data = "transactions": [{
    "item_list": { "items": [ json.dumps(itemlist) ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
json.dumps()
获取一个结构,并用json格式的字符串对其进行解析。 如果您正在执行以下操作:

dict_data = "transactions": [{
    "item_list": { "items": [ itemlist ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
json_data = json.dumps(dict_data)
json_data = "transactions": [{
    "item_list": { "items": [ json.dumps(itemlist) ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
您错了,因为元素
事务:项列表将是字符串的列表,而不是目录的列表。
理解JSON只是格式化结构的一种方式很重要,您可以通过示例以完全相同的方式解析XML中的dict


因此,请确保首先计算要以字典形式发送的数据,然后,在最后,用JSON字符串解析整个数据。

我认为您正在尝试使用字典形式作为JSON。这两种语法都相似,但词汇表是Python结构,而JSON是数据格式

在您所说的评论中,使用您的
项目列表
措辞如下:

"transactions": [{
    "item_list": { "items": [ itemlist ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}]
如果这是要发送的entiere JSON数据,可以执行以下操作:

dict_data = "transactions": [{
    "item_list": { "items": [ itemlist ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
json_data = json.dumps(dict_data)
json_data = "transactions": [{
    "item_list": { "items": [ json.dumps(itemlist) ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
json.dumps()
获取一个结构,并用json格式的字符串对其进行解析。 如果您正在执行以下操作:

dict_data = "transactions": [{
    "item_list": { "items": [ itemlist ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
json_data = json.dumps(dict_data)
json_data = "transactions": [{
    "item_list": { "items": [ json.dumps(itemlist) ] }, 
    "amount": { "total": total, "currency": "USD" }, 
    "description": "This is the payment transaction description." 
}])
您错了,因为元素
事务:项列表将是字符串的列表,而不是目录的列表。
理解JSON只是格式化结构的一种方式很重要,您可以通过示例以完全相同的方式解析XML中的dict


因此,请确保首先计算要在字典中发送的数据,然后在最后用JSON字符串解析整个数据。

您在哪里使用
itemlist
?“事务”:[{“item_list”:{“items”:[itemlist]},“amount”:{“total”:total,“currency”:“USD”},“description”:“这是支付交易描述。”}]在将请求发送到paypal之前,您需要在最后一个对象上调用
json.dumps()
。“{\“name\”:“Sparzy\”,“sku\”:“music beat\”,“price\:“25.0\”,“currency\:“USD\”,“quantity\”:1}”这是我这样做时得到的值。您在哪里使用
itemlist
?“transactions”:[{“item_list”:{“items”:[itemlist]},“amount”:{“total”:total,“currency”:“USD”},“description”:“这是支付交易描述。”}]在将请求发送到paypal之前,您需要在最后一个对象上调用
json.dumps()
。“{\'name\”:“Sparzy\”,“sku\”:“music beat\,“price\”:“25.0\,“currency\”:“USD\,“quantity\”:1}“这是我这样做时得到的值。我正在使用flask框架。它通常不接受“print”,让我试试JSON解决方案。{“name\”:“Sparzy\”,“sku\”:“music beat\”,“price\”:“25.0\”,“currency\”:“USD\”,“quantity\”:1}这是我得到的。这是一个格式良好的JSON字符串,应该可以。请更新您的帖子,提供更多信息和代码。您如何手动和使用表单来调用它。我不确定我是否正确,但根据您的一条评论,我尝试了使用flask框架的其他方法。它通常不接受“print”,让我试试JSON解决方案。{“name\”:“Sparzy\”,“sku\”:“music beat\”,“price\”:“25.0\”,“currency\”:“USD\”,“quantity\”:1}这是我得到的。这是一个格式良好的JSON字符串,应该可以。请更新您的帖子,提供更多信息和代码。你怎么用手工和表单来称呼它。我不确定我是对的,但根据你的一条评论,我尝试了其他方法