Json数组中返回错误字符串


json array with in array returning error ?bad string

我正在解析我的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字符串文件不正确,它有一些错误…

  1. 你错过了注释中的键。
  2. 你的值必须在大括号中,因为它是一个数组。
  3. 您在末尾添加额外的逗号。

     [
       {
       "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"]
             },