[英]JSON not valid EOF (Python)
I am trying to build up a JSON using the following code but jsonlint says it's not valid, ending with EOF error.我正在尝试使用以下代码构建 JSON,但 jsonlint 说它无效,并以 EOF 错误结尾。 The error is that I have to separate the output but my goal is to have a single JSON file.
错误是我必须将输出分开,但我的目标是拥有一个 JSON 文件。
Here is the code I am using:这是我正在使用的代码:
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)
And this is the output:这是输出:
[[{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "0[(96.48 % n: 0) (3.37 % n: 9) (0.06 % n: 4)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "2[(36.17 % n: 2) (25.01 % n: 0) (18.48 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "6[(99.9 % n: 6) (0.09 % n: 4) (0.0 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "5[(99.98 % n: 5) (0.01 % n: 3) (0.0 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "4[(84.76 % n: 4) (7.63 % n: 0) (2.08 % n: 6)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "8[(89.88 % n: 8) (8.87 % n: 9) (1.11 % n: 5)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "9[(84.29 % n: 9) (8.23 % n: 8) (6.79 % n: 0)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "026554891"}, {"Numero": "1[(99.99 % n: 1) (0.0 % n: 9) (0.0 % n: 8)]"}]][[{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "4[(80.03 % n: 4) (18.44 % n: 1) (0.69 % n: 3)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "6[(99.91 % n: 6) (0.04 % n: 0) (0.03 % n: 4)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "0[(99.99 % n: 0) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "2[(99.86 % n: 2) (0.12 % n: 8) (0.01 % n: 3)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "9[(99.07 % n: 9) (0.83 % n: 8) (0.04 % n: 5)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "3[(99.99 % n: 3) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "1[(50.74 % n: 1) (40.73 % n: 7) (5.93 % n: 5)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "5[(36.81 % n: 5) (29.07 % n: 8) (16.1 % n: 6)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "6[(98.46 % n: 6) (0.66 % n: 4) (0.64 % n: 2)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "45602931566"}, {"Numero": "6[(69.49 % n: 6) (20.06 % n: 1) (6.35 % n: 8)]"}]][[{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "5[(60.71 % n: 5) (29.06 % n: 8) (8.77 % n: 7)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "7[(85.45 % n: 7) (8.71 % n: 9) (1.92 % n: 0)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "1[(99.99 % n: 1) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "1[(99.18 % n: 1) (0.42 % n: 2) (0.39 % n: 4)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "8[(99.98 % n: 8) (0.01 % n: 2) (0.0 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "7[(99.8 % n: 7) (0.12 % n: 3) (0.04 % n: 4)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "6[(99.99 % n: 6) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "8[(59.18 % n: 8) (32.39 % n: 2) (6.08 % n: 6)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "1[(99.99 % n: 1) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "1[(95.61 % n: 1) (3.78 % n: 2) (0.48 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "5711587681155"}, {"Numero": "5[(99.85 % n: 5) (0.14 % n: 8) (0.0 % n: 9)]"}]][[{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "1[(75.32 % n: 1) (24.4 % n: 2) (0.26 % n: 4)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "8[(99.97 % n: 8) (0.01 % n: 2) (0.0 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "7[(99.99 % n: 7) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "7[(64.8 % n: 7) (35.17 % n: 2) (0.0 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "8[(97.63 % n: 8) (1.19 % n: 3) (1.14 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "5[(80.64 % n: 5) (18.03 % n: 3) (0.81 % n: 7)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "158775853"}, {"Numero": "3[(99.99 % n: 3) (0.0 % n: 9) (0.0 % n: 8)]"}]][[{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "1[(99.99 % n: 1) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "4[(80.31 % n: 4) (10.32 % n: 1) (5.49 % n: 2)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "1[(99.43 % n: 1) (0.31 % n: 2) (0.22 % n: 7)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "1[(92.47 % n: 1) (4.77 % n: 4) (2.64 % n: 6)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "5[(99.99 % n: 5) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "8[(99.42 % n: 8) (0.56 % n: 2) (0.01 % n: 3)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "8[(99.99 % n: 8) (0.0 % n: 9) (0.0 % n: 7)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "3[(98.3 % n: 3) (1.69 % n: 5) (0.0 % n: 9)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "3[(99.99 % n: 3) (0.0 % n: 9) (0.0 % n: 8)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "7[(98.05 % n: 7) (1.5 % n: 2) (0.42 % n: 4)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "0[(80.66 % n: 0) (18.98 % n: 2) (0.23 % n: 1)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "8[(31.61 % n: 8) (28.47 % n: 4) (23.53 % n: 6)]"}], [{"Nome bollettino": "BR_3_VE33491116420151103K000351FA.png"}, {"Stringa Causale": "1411588337082"}, {"Numero": "2[(66.61 % n: 2) (26.19 % n: 4) (4.39 % n: 8)]"}]]"Not Found"
If you try to validate it , it says it's not valid.如果您尝试验证它,它会说它无效。 How can I fix this ?
我怎样才能解决这个问题 ? Also, how can I make "Nome bollettino" as root for every other object ?
另外,如何将“Nome bollettino”作为所有其他对象的根? I mean, like this:
我的意思是,像这样:
- Nome bollettino:
- Stringa Causale:
- Numero:
It seems like you're adding separate JSON structures to your file, and that's fine - that's a JSON line file.看起来您正在向文件中添加单独的 JSON 结构,这很好 - 这是一个JSON 行文件。 However,
json.dump
doesn't automatically add newline delimiters after your data.但是,
json.dump
不会在您的数据后自动添加换行符。 You'll have to do it yourself.你必须自己做。
with open(...) as outfile:
json.dump(jsontxt, outfile)
outfile.write('\n')
When validating your JSON, validate each line separately.验证您的 JSON 时,请分别验证每一行。
If you want to merge your JSONs into one, you'd accumulate everything in a loop and dump at the end.如果您想将您的 JSON 合并为一个,您可以在循环中累积所有内容并在最后转储。 It'd be something like this:
它会是这样的:
data = []
for item in jsonList:
... # do something
data.append(newItem) # newItem is your final json sub-structure
with open(..., 'w', encoding='utf-8') as f:
json.dump(data, f)
You opened the output file in append mode 'a'
which means you have two bits of json one after another and the result is not a single json value.您以追加模式
'a'
打开输出文件,这意味着您一个接一个地有两位 json,结果不是单个 json 值。
You cannot append json strings to a text file and expect the resulting file to be valid json.您不能将 json 字符串附加到文本文件并期望生成的文件是有效的 json。 Open the file in
'w'
mode instead and you will overwrite the old value.改为以
'w'
模式打开文件,您将覆盖旧值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.