如何在Python中为API构建数据有效负载?

时间:2017-09-09 18:12:35

标签: python json python-3.x api

我正在尝试构建一个数据有效负载以发送到API但我遇到了动态构建它的问题。此硬编码的有效负载文本有效:

"""
{  
   "Line":[  
      {  
         "Description":"John's Made up Description",
         "Amount":12.00,
         "DetailType":"SalesItemLineDetail",
         "SalesItemLineDetail":{  
            "ItemRef":{  
               "value":"15"
            },
            "UnitPrice":"2",
            "Qty":6,
            "TaxCodeRef":{  
               "value":"2"
            }
         }
      }
   ],
   "CustomerRef":{  
      "value":"9"
   },
   "CustomerMemo":{  
      "value":"This is a test"
   }
}
"""

我已经建立了我认为同样的东西:

data = {}
data['Line'] = [{"Description" : "John's made up stuff",
                "Amount" : 12.00,
                "DetailType" : "SalesItemLineDetail",
                "SalesItemLineDetail": {
                    "ItemRef" : {
                        "value" : "15"
                    },
                    "UnitPrice" : "2",
                    "Qty" : 6,
                    "TaxCodeRef" : {
                        "value": "2"
                    }
                }
                }]
data['CustomerRef'] = {"value" : "9"}
data['CustomerMemo'] = {"value" : "hello"}

如果我打印(数据),则返回以下内容

{  
   'Line':[  
      {  
         'Description':"John's made up stuff",
         'Amount':12.0,
         'DetailType':'SalesItemLineDetail',
         'SalesItemLineDetail':{  
            'ItemRef':{  
               'value':'15'
            },
            'UnitPrice':'2',
            'Qty':6,
            'TaxCodeRef':{  
               'value':'2'
            }
         }
      }
   ],
   'CustomerRef':{  
      'value':'9'
   },
   'CustomerMemo':{  
      'value':'hello'
   }
}

我不确定我是否已经看了太长时间这是一件简单的事情,或者我是否完全错了。如何动态创建正确的有效负载?

1 个答案:

答案 0 :(得分:0)

非常感谢Kaus在这里..看不到树上的树木......

data = json.dumps(data)

是否需要工作..