首页 > 解决方案 > TypeError:“列”类型的对象不是 JSON 可序列化的

问题描述

TypeError:“列”类型的对象不是 JSON 可序列化的

这个错误可能意味着什么?

test_respnse 是一个 Json 文件,我正在尝试将其转换为字典。

 test_response = json.dumps(test_response)

test_response 的内容:

{
   "req_type":1,
   "date":"2021-02-21",
   "team1":{
      "name":"Everton FC",
      "player1":"Chris Gunter",
      "player2":"Matteo Darmian",
      "player3":"Ragnar Klavan",
      "player4":"Jan Vertonghen",
      "player5":"Joshua King",
      "player6":"Jordan Ayew",
      "player7":"Charlie Austin",
      "player8":"Simon Mignolet",
      "player9":"Stefano Sensi",
      "player10":"Samuel Bastien",
      "player11":"Gareth Barry",
   },
   "team2":{
      "name":"Crystal Palace FC",
      "player1":"Vincent Kompany",
      "player2":"Kieran Trippier",
      "player3":"Trent Alexander-Arnold",
      "player4":"Ben Davies",
      "player5":"Eddie Nketiah",
      "player6":"Lukas Nmecha",
      "player7":"Michael Obafemi",
      "player8":"Hugo Lloris",
      "player9":"Victor Moses",
      "player10":"Rolando Aarons",
      "player11":"Dean Whitehead",
   }
}

标签: jsonpython-3.xtypeerror

解决方案


当前的 Json 看起来像

{
   "req_type":1,
   "date":"2021-02-21",
   "team1":{
      "name":"Everton FC",
      "player1":"Chris Gunter",
      "player2":"Matteo Darmian",
      "player3":"Ragnar Klavan",
      "player4":"Jan Vertonghen",
      "player5":"Joshua King",
      "player6":"Jordan Ayew",
      "player7":"Charlie Austin",
      "player8":"Simon Mignolet",
      "player9":"Stefano Sensi",
      "player10":"Samuel Bastien",
      "player11":"Gareth Barry",
   },
   "team2":{
      "name":"Crystal Palace FC",
      "player1":"Vincent Kompany",
      "player2":"Kieran Trippier",
      "player3":"Trent Alexander-Arnold",
      "player4":"Ben Davies",
      "player5":"Eddie Nketiah",
      "player6":"Lukas Nmecha",
      "player7":"Michael Obafemi",
      "player8":"Hugo Lloris",
      "player9":"Victor Moses",
      "player10":"Rolando Aarons",
      "player11":"Dean Whitehead",
   }
}

在最后一个数据项之后有一个额外的逗号,即“team1”和“team2”的第 11 名球员。因此,如果我们删除逗号,错误就会得到解决,因为 Json 现在在语法上。

删除 ths Json 后看起来像:

{
   "req_type":1,
   "date":"2021-02-21",
   "team1":{
      "name":"Everton FC",
      "player1":"Chris Gunter",
      "player2":"Matteo Darmian",
      "player3":"Ragnar Klavan",
      "player4":"Jan Vertonghen",
      "player5":"Joshua King",
      "player6":"Jordan Ayew",
      "player7":"Charlie Austin",
      "player8":"Simon Mignolet",
      "player9":"Stefano Sensi",
      "player10":"Samuel Bastien",
      "player11":"Gareth Barry"
   },
   "team2":{
      "name":"Crystal Palace FC",
      "player1":"Vincent Kompany",
      "player2":"Kieran Trippier",
      "player3":"Trent Alexander-Arnold",
      "player4":"Ben Davies",
      "player5":"Eddie Nketiah",
      "player6":"Lukas Nmecha",
      "player7":"Michael Obafemi",
      "player8":"Hugo Lloris",
      "player9":"Victor Moses",
      "player10":"Rolando Aarons",
      "player11":"Dean Whitehead"
   }
}

推荐阅读