JSON不是有效的EOF(Python)

2024-05-19 18:48:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用以下代码构建一个JSON,但是jsonlint说它无效,以EOF错误结尾。 错误是我必须分开输出,但我的目标是只有一个JSON文件。在

以下是我使用的代码:

t = 0
p = []
nome_b = (bollist[0])
p_causale = (causalestr) #contains a string

for item in jsonlist:
    predizione = (jsonlist[t])

    bollettini = {'Nome bollettino': str(nome_b)}
    causale = {'Stringa Causale': str(p_causale)}
    numero = {'Numero': str(predizione)}

    t += 1
    p.append([bollettini]+[causale]+[numero])

if not y: 
    jsontxt = ('Not found')
else:
    #jsontxt = ([bollettini],[causale],[numero])
    jsontxt = (p)

with open((TXT.txt'), 'a', encoding='utf-8') as outfile:
    json.dump(jsontxt, outfile)

这是输出:

^{pr2}$

如果你试图validate it,它会说它是无效的。 我该怎么解决这个问题? 另外,我怎样才能使“Nome bollettino”作为其他对象的根呢? 我是说,像这样:

- Nome bollettino:
   - Stringa Causale:
      - Numero:

Tags: 代码json错误strnomestringajsonlistnumero
2条回答

您以append模式'a'打开了输出文件,这意味着您一个接一个地有两个json位,结果不是一个json值。在

json文件不能附加有效的json文本。改为以'w'模式打开文件,您将覆盖旧值。在

似乎您正在向文件中添加单独的JSON结构,这很好—这是一个JSON line文件。但是,json.dump不会自动在数据后添加换行分隔符。你得自己动手。在

with open(...) as outfile:
    json.dump(jsontxt, outfile)
    outfile.write('\n')

在验证JSON时,请分别验证每一行。在


如果你想把你的json合并成一个json,你需要在一个循环中积累所有的东西,并在最后进行转储。应该是这样的:

^{pr2}$

相关问题 更多 >