2016-07-05 6 views
0

これは、Python 3.xのためにある二重引用符を維持しながら、リスト内のJSONにリスト内の文字列を変換します、私はPythonは:どのように私は

に次の

['{"from": "USD", "to": "EUR"}'] 

を変換するのに苦労しています

[{"from": "USD", "to": "EUR"}] 

私はast.literal_eval(複数可)を使用して試してみましたが、それは、単一引用符で私のJSONを返す、私は無駄にも時間オーバーのためのさまざまな組み合わせをしようとしてきた、任意のヘルプは大歓迎です!

+0

'json.loads'を使うことができます。なぜ二重引用符を気にしますか? – DeepSpace

+0

@DeepSpace別の言語で書かれたサーバは、残念ながら二重引用符で囲む必要があります。 – user4659009

+0

どのようなサーバーですか?ほとんどのサーバーはそれを処理できるはずです。単一引用符/二重引用符はPythonのものです。エラーが発生した場合は、質問を編集して投稿する必要があります。 – DeepSpace

答えて

3

json.loadsおよびjson.dumpsを使用してください。それはあなたのためにそれを世話します:

import json 

a = ['{"from": "USD", "to": "EUR"}'] 
obj = json.loads(a[0]) 
print(obj, type(obj)) 
>> {'to': 'EUR', 'from': 'USD'} <class 'dict'> 

print(json.dumps(obj), type(json.dumps(obj))) 
>> {"to": "EUR", "from": "USD"} <class 'str'> 
0
>>> c=['{"from": "USD", "to": "EUR"}'] 
>>> c[0] 
'{"from": "USD", "to": "EUR"}' 
>>> eval(c[0]) 
{'to': 'EUR', 'from': 'USD'} 
>>> p=eval(c[0]) 
>>> print p 
{'to': 'EUR', 'from': 'USD'} 
>>> type(p) 
<type 'dict'> 
+0

evalを使用することは、大きなセキュリティホールであるため、常に避けるべきです。 – MKesper