2016-09-16 11 views
1

を使用してJSONオブジェクトに文字列を変換する:期待プロパティ名 - 私は、次のコードを使用してのpythonを使用してJSONに文字列を変換しようとしていますPythonの

myStr = '[{u"total": "54", u"value": "54", u"label": u"16 Sep"}, {u"total": "58", u"value": "4", u"label": u"16 Sep"}, {u"total": "65", u"value": "7", u"label": u"16 Sep"}, {u"total": "65", u"value": "0", u"label": u"16 Sep"}]' 

import json 
json.loads(myStr) 

私は次のエラーを取得する:

これは、すべてのプロパティが単一引用符ではなく二重引用符を持つため意味がありません。どんな助け?

+1

文字列の前には多くの 'u'文字があります。これらはJSONでは無効です。 – Phylogenesis

+0

私はそれが "u"だと信じています...行1列3 '[[u"合計 ":...] –

答えて

2

文字列からunicode修飾子を削除します。 json.loadsは、プロパティ名がすでにユニコードであると想定しています。

+0

どうすればいいですか?私の文字列に使うことができる関数はありますか?ありがとう。 –

+0

正規表現を使って、各プロパティ名の前に 'u'文字を削除することができます。 '{u" 'と'、u "'と一致する正規表現を見つけ、{{''と ''、 ''で置き換えます。 – Frangipanes

0

この質問とGetting SyntaxError: JSON Parse error: Expected '}' when trying to convert a string into JSON using javascriptからパズルのピースを一緒に入れて、あなたがやりたい:

myStr = [{u"total": "54", u"value": "54", u"label": u"16 Sep"}, {u"total": "58", u"value": "4", u"label": u"16 Sep"}, {u"total": "65", u"value": "7", u"label": u"16 Sep"}, {u"total": "65", u"value": "0", u"label": u"16 Sep"}] 

import json 
print(json.dumps(myStr)) 

はその後のjavascriptに出力された文字列をコピー&ペースト。

1
import json 
myStr = '[{"total": 54, "value": 54, "label": "u16 Sep"}, {"total": 58, "value": 4, "label": "u16 Sep"}, {"total": 65, "value": 7, "label":" u16 Sep"}, {"total": 65, "value": 0,"label": "u16 Sep"}]' 
obj = json.loads(myStr) 
print(repr(obj)) 

不正なJSONをロードしようとすると、hereを確認できます。私はあなたのjsonを編集し、それは動作します。

関連する問題