在.txt中解析json数据会导致ValueError

时间:2013-03-01 03:09:48

标签: python json python-2.7

IN json.txt我有这些数据:

"""{"iPod": "apple"}"""

此代码解析json.txt

f = open("json.txt", "r")
json_data = f.read()
f.close

print json.loads(json_data)

结果是:

  

ValueError:额外数据:line1 column2 - line2 column1(char2-24)

我希望json.txt保持现状。

如何更改此代码?

2 个答案:

答案 0 :(得分:1)

unbuntu的答案不起作用的原因是因为当你读取文件时,它包含\n字符。

'"""{"iPod": "apple"}"""\n'

你也必须删除它。

import json
with open("json.txt", "r") as f:
    json_data = f.read().strip('"\n')   

print json.loads(json_data)

答案 1 :(得分:0)

您的json_data似乎包含三重引号。 在将JSON传递给json.loads

之前,您需要将其剥离
with open("json.txt", "r") as f:
    json_data = f.read().strip('"')   

print json.loads(json_data)