从文件阅读嵌套列表时出现Json错误

carvr3hs  于 2022-12-20  发布在  其他
关注(0)|答案(2)|浏览(119)

post之后,我使用了以下代码:

with open(mytextFile) as f:
    nestedList = json.load(f)
 print(nestedList)

我的文本文件只包含[[i,1],[i,2]]。当我运行上面的代码时,我得到了错误:

raise JSONDecodeError("Expecting value", s, err.value) from None
 json.decoder.JSONDecodeError: Expecting value: line 1 column 3 (char 2)

我尝试过添加和删除选项encoding ='utf-8',也尝试过使用其他扩展名而不是txt的文件。同样的错误总是发生。
你能帮忙吗?
编辑:如果这不是从文件中读取嵌套列表的正确方法,你能给我指出正确的方向吗?

a5g8bdjr

a5g8bdjr1#

当用https://jsonformatter.curiousconcept.com/检查输入时,它提示了这个问题。键(输入中的i)没有用引号括起来。如果你在输入中用引号括起来,文件内容可以用你的实现解析(示例输入是[[“i”,1],[“i”,2]],键用引号括起来)。
也许这里提供的解决方案可以帮助您:Bad JSON - Keys are not quoted

gdrx4gfi

gdrx4gfi2#

如果您能提供您正在使用的文本文件的内容,那就更好了。
不过,我假设文件的内容是一个普通字符串“[[i,1],[i,2]]"。
然而,json.load()将JSON格式的字符串(不是任意字符串)转换为Python字典。在本例中,字符串的内容是“[[i,1],[i,2]]”,它不是JSON格式的。JSON文档本身总是一个对象。
如果在键值对中重写相同的值(出于演示目的),如下所示:“{“样本密钥:“[[i,1],[i,2]]"}",它会起作用的。

相关问题