-3
我有一個JSON字符串,我想從中提取對象。問題是simplejson.loads拋出一些錯誤。你能告訴我如何提取物體?如何從JSON字符串中提取對象?
u'[u\'{"opt_id":2949,"answer":"true"}\', u\'{"opt_id":2950,"answer":"false"}\', u\'{"opt_id":2951,"answer":"false"}\']'
我有一個JSON字符串,我想從中提取對象。問題是simplejson.loads拋出一些錯誤。你能告訴我如何提取物體?如何從JSON字符串中提取對象?
u'[u\'{"opt_id":2949,"answer":"true"}\', u\'{"opt_id":2950,"answer":"false"}\', u\'{"opt_id":2951,"answer":"false"}\']'
您沒有JSON字符串;您有一個代表包含JSON字符串的Python列表對象的字符串。
以下工作:
import json
import ast
for json_string in ast.literal_eval(inputstring):
print json.loads(json_string)
演示:
>>> import json
>>> import ast
>>> inputstring = u'[u\'{"opt_id":2949,"answer":"true"}\', u\'{"opt_id":2950,"answer":"false"}\', u\'{"opt_id":2951,"answer":"false"}\']'
>>> for json_string in ast.literal_eval(inputstring):
... print json.loads(json_string)
...
{u'answer': u'true', u'opt_id': 2949}
{u'answer': u'false', u'opt_id': 2950}
{u'answer': u'false', u'opt_id': 2951}
你可能需要找出爲什麼你說的字符串,而不是一個正確的JSON值,這將是這樣的:
'[{"answer": "true", "opt_id": 2949}, {"answer": "false", "opt_id": 2950}, {"answer": "false", "opt_id": 2951}]'
改爲。
非常感謝。很多downvotes在我的問題上,但我認爲這是非常嚴格的社區:3 –
您沒有包含錯誤消息或有關對象來自何處的詳細信息。我沒有對你的問題投票,但這對你的案子有幫助。 –