2016-01-21 64 views
-1

你能幫我一下,我可以如何使用格式將列表「some」傳遞給字符串「json_req」?Python使用格式將列表傳遞到字符串

some = ["3874933","38423894"] 
json_req='{"marketIds" : {},"priceProjection" : {"priceData" : ["EX_BEST_OFFERS"]}}'.format(some) 

結果應該是:

'{"marketIds" : ["3874933","38423894"],"priceProjection" : {"priceData" : ["EX_BEST_OFFERS"]}}' 

目前,我收到一個錯誤:

KeyError: '"marketIds" ' 

感謝

+0

當我嘗試打印它時,我得到KeyError:''marketIds'' –

+0

您的密鑰與JSON數據不匹配,它包含文字引號和空白。 – jonrsharpe

+0

@ArthurZangiev,展示你如何試圖打印它,讓我們先糾正那部分。 – tglaria

回答

2

如果您正在使用格式化字符串牙套format()您需要使用雙大括號將它們轉義出來:

json_req='{{"marketIds" : {},"priceProjection" : {{"priceData" : ["EX_BEST_OFFERS"]}}}}'.format(some) 

這就是說,這種生成json的整個方法讓我有點不安。感覺你最好使用帶有本地python對象的json模塊,最後使用dumps

import json 
some = ["3874933","38423894"] 
template = {"marketIds" : some, "priceProjection" : {"priceData" : ["EX_BEST_OFFERS"]}} 
json_req = json.dumps(template) 

如果您以後需要更改內容,會導致更靈活的代碼。

+0

謝謝。你說得對,json方法好得多。再次感謝:) –

+0

@ArthurZangiev - 沒問題,如果這種解決方案爲你工作,請將其標記爲可接受的解決方案。 – LexyStardust

相關問題