在python中加载json数组的字符串

时间:2015-09-17 01:49:52

标签: python json

我有一个这样的文件,每行包含类似这样的字符串:

[{u'text': u'this', u'freq': 1}, {u'text': u'is', u'freq': 1}, {u'text': u'a', u'freq': 1}, {u'text': u'test', u'freq': 1}]

我试图将每一行加载到json对象中,但是我收到了这个错误:

for lineid, line in enumerate(open("myfile.txt")):
    jsonline=json.loads(line)

我收到以下错误:

raise ValueError(errmsg("Expecting property name", s, end))
ValueError: Expecting property name: line 1 column 2 (char 2)

我想要检索所有文字'从文件中获取并在每行中。所以每一行都不是json,而是分隔的文本空间序列。例如:

this is a test

1 个答案:

答案 0 :(得分:2)

那不是JSON,那是一个Python文字。

>>> import ast
>>> ast.literal_eval("[{u'text': u'this', u'freq': 1}, {u'text': u'is', u'freq': 1}, {u'text': u'a', u'freq': 1}, {u'text': u'test', u'freq': 1}]")
[{u'text': u'this', u'freq': 1}, {u'text': u'is', u'freq': 1}, {u'text': u'a', u'freq': 1}, {u'text': u'test', u'freq': 1}]