0

Delphiで以下のメソッドを書いています:

function acceptPutNF(const aJSONObject: TJSONObject; const aJSONArray: TJSONArray): TJSONObject;

aJSONArrayPUTリクエストを送ろうとしているのですが、pythonで2番目のパラメータ/オブジェクトデータを指定する方法がわかりません。私はこれを試しました:

nfe = {'CodigoUsuario':1,'CodigoEmpresa':1,'Originario':'1','CodigoCliente':1,'CodigoTransportador':1,'NaturezaOperacao':'1',
        'IndicadorPagamento':'1','ValorFrete':1,'ValorSeguro':1,'ValorOutrasDespesas':1,'ValorProdutosServicos':1,'ValorDescontoGlobal':1,'nformacoesContr':None}
nfe_itens = [{'CodigoProduto':1,'CodigoGradeProduto':1,'Quantidade':1,'ValorUnitario':1,'DescontoUnitario':1}]               

nfe_encoded = json.dumps(nfe)
nfe_itens_encoded = json.dumps(nfe_itens)

print nfe_encoded

url = 'http://localhost:88/datasnap/rest/TServerMethods/PutNF'
r = requests.put(url, data={nfe_encoded, nfe_itens_encoded})

最後の命令でエラー メッセージが表示されます...

4

2 に答える 2

2

データに渡すものはエンコードする必要があります。2 つの構造をエンコードしてから、その周りにエンコードされていない構造を構築しています。これを試して

r = requests.put(url, data=json.dumps([nfe, nfe_itens])
于 2013-10-29T16:52:14.220 に答える
0

I ended up using just one object data parameter with a "sub-object", and then I manage it on my server. I think it is the better way to use more of available features that JSON provides.

于 2013-10-29T19:57:05.060 に答える