我正在将我的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在数组中使用数组的问题你可以使用这些编辑器链接link to json editor
预计第8行中的属性名称
,
错误
答案 0 :(得分:2)
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"]
上有一个额外的逗号,我删除了它。
答案 1 :(得分:1)
您的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"]
},