簡體   English   中英

Python:從JSON轉儲中刪除雙引號

[英]Python: remove double quotes from JSON dumps

我有一個數據庫,它按以下格式返回行列表:

data = ['(1000,"test value",0,0.00,0,0)', '(1001,"Another test value",0,0.00,0,0)']

之后,我使用json_str = json.dumps(data)來獲取JSON字符串。 應用json.dumps() ,我得到以下輸出:

json_str = ["(1000,\"test value\",0,0.00,0,0)", "(1001,\"Another test value\",0,0.00,0,0)"]

但是,我需要以下格式的JSON字符串:

json_str = [(1000,\"test value\",0,0.00,0,0), (1001,\"Another test value\",0,0.00,0,0)]

所以基本上,我想刪除周圍的雙引號。 我試圖用json_str = json_str.strip('"')來完成這個。 json_str = json_str.strip('"')不起作用。然后,我嘗試了json_str = json_str.replace('"', '')但這也刪除了轉義的引號。

有沒有人知道一種方法來完成這個或者是否有json.dumps() Python函數產生相同的結果,但沒有周圍的雙引號?

你正在轉儲字符串列表,所以json.dumps完全符合你的要求。 對你的問題而言,相當丑陋的解決方案可能如下所示。

def split_and_convert(s):
    bits = s[1:-1].split(',')
    return (
        int(bits[0]), bits[1], float(bits[2]),
        float(bits[3]), float(bits[4]), float(bits[5])
    )

data_to_dump = [split_and_convert(s) for s in data]
json.dumps(data_to_dump)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM