我正在解析我的json字符串文件到python,总是返回错误。我使用了在线json格式化器和验证器,它们也会返回错误所以我需要帮助使我的json正确并告诉我错误
[{
"sentence_id": "TR.00001",
"sentence": {
"text": "Bill was born 1986.",
"annotation": {
(1, "Bill", "bill", "NNP", "B-PERSON"),
(2, "was", "be", "VBD", "O"),
(3, "born", "bear", "VBN", "O"),
(4, "1986", "BIL", "CD", "B-DATE"),
(5, ".", ".", ".", "O"),
},
"relations": {
"subject": "bill",
"predicate": "DATE of Birth",
"object": "1986"
}
}
}, ]
上面是我的json字符串你可以检查在线验证器或在线json格式验证器这里是json返回错误的部分
"annotation": {
(1, "Bill", "bill", "NNP", "B-PERSON"),
(2, "was", "be", "VBD", "O"),
(3, "born", "bear", "VBN", "O"),
(4, "1986", "BIL", "CD", "B-DATE"),
(5, ".", ".", ".", "O"),
},
所以你能帮我解决数组的麻烦吗在数组中使用json你可以使用这些编辑器链接链接到json编辑器
期待属性名
,
在第8行出错
JSON不理解元组,尝试更改为列表:
"annotation": [
[1, "Bill", "bill", "NNP", "B-PERSON"],
[2, "was", "be", "VBD", "O"],
[3, "born", "bear", "VBN", "O"],
[4, "1986", "BIL", "CD", "B-DATE"],
[5, ".", ".", ".", "O"]
]
您可以在另一端执行tuple(list)
以转换回元组。
另外,你在[5, ".", ".", ".", "O"]
上有一个额外的逗号,我把它删除了。
您的json字符串文件不正确,它有一些错误…
- 你错过了注释中的键。
- 你的值必须在大括号中,因为它是一个数组。
-
您在末尾添加额外的逗号。
[ { "sentence_id" : "TR.00001", "sentence" : { "text" : "Bill was born 1986.", "annotation":{ "1": [1,"Bill" , "bill" , "NNP" ,"B-PERSON"], "2":[2, "was" , "be" , "VBD" , "O"], "3": [3 , "born" , "bear" , "VBN", "O"], "4":[4, "1986" , "BIL" , "CD" , "B-DATE"], "5":[5, "." , "." , ".","O"] }, "relations":{ "subject":"bill", "predicate":"DATE of Birth", "object":"1986" } } } ]
这意味着你的注释部分必须像这样:
"annotation":{
"1": [1,"Bill" , "bill" , "NNP" ,"B-PERSON"],
"2":[2, "was" , "be" , "VBD" , "O"],
"3": [3 , "born" , "bear" , "VBN", "O"],
"4":[4, "1986" , "BIL" , "CD" , "B-DATE"],
"5":[5, "." , "." , ".","O"]
},