用pythonic方法查找json文件的错误

时间:2016-01-07 15:44:26

标签: python json parsing

我正在制作一个将json数据转换为panadas.DataFrame / numpy.array的脚本。

当json没问题时没有问题但是当出现问题时我得到一般错误,告诉我这不是一个正确的json格式。

我正在寻找一个Pythonic来确切知道json的错误。可以指向json文件中的错误的东西。

例如:

对于json,一切都很好,

    [
      {
      "col1": value1,
      "col2": value2,
      "col3": value3,
      "col4": value4,
      "col5": value5,
      "wpId": xxxxxx
      },
      { 
      "col1": value1,
      "col2": value2,
      "col3": value3,
      "col4": value4,
      "col5": value5,
      "wpId": xxxxxx
      },
      {
      "col1": value1,
      "col2": value2,
      "col3": value3,
      "col4": value4,
      "col5": value5,
      "wpId": xxxxxx
      }
    ]

但是有了这个:

    [
      {
      "col1": value1,
      "col2": value2,
      "col3": value3,
      "col4": value4,
      "col5": value5,
      "wpId": xxxxxx
      },
      { 
      "col1": value1,
      "col2": value2,
      "col3": value3,
      "col4": value4,
      "col5": value5,
      "wpId": xxxxxx
      }, []
      {
      "col1": value1,
      "col2": value2,
      "col3": value3,
      "col4": value4,
      "col5": value5,
      "wpId": xxxxxx
      }
    ]

我希望脚本返回类似的内容:

  ERROR: "},[]{" is not a json format.

1 个答案:

答案 0 :(得分:0)

自己找到它:

import json

try:
  data = json.loads(open("error_data.json").read())
except ValueError as err:
  print(err)

>> Expecting , delimiter: line 28 column 5 (char 772)