簡體   English   中英

python json轉儲

[英]python json dumps

我有以下字符串,需要將其轉換為沒有u''的列表:

my_str = "[{u'name': u'squats', u'wrs': [[u'99', 8]], u'id': 2}]"

我可以擺脫“通過使用

import ast
str_w_quotes = ast.literal_eval(my_str)

然后我做:

import json
json.dumps(str_w_quotes)

得到

[{\"id\": 2, \"name\": \"squats\", \"wrs\": [[\"55\", 9]]}]

有沒有辦法擺脫反斜杠? 目標是:

[{"id": 2, "name": "squats", "wrs": [["55", 9]]}]

這有效,但似乎並不太優雅

import json
json.dumps(json.JSONDecoder().decode(str_w_quotes))

json.dumps認為"是字符串的一部分,而不是json格式的一部分。

import json
json.dumps(json.load(str_w_quotes))

應該給你:

 [{"id": 2, "name": "squats", "wrs": [["55", 9]]}]
>>> "[{\"id\": 2, \"name\": \"squats\", \"wrs\": [[\"55\", 9]]}]".replace('\\"',"\"")
'[{"id": 2, "name": "squats", "wrs": [["55", 9]]}]'

請注意,您可以在原始字符串上執行此操作

>>> "[{u'name': u'squats', u'wrs': [[u'99', 8]], u'id': 2}]".replace("u\'","\'")
"[{'name': 'squats', 'wrs': [['99', 8]], 'id': 2}]"

您不會將字符串轉儲為JSON,而是將字符串作為JSON加載。

import json
json.loads(str_w_quotes)

您的字符串已經是JSON格式。 您不希望再次將其轉儲為JSON。

暫無
暫無

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

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