python - 跳过损坏的 jsons python

标签 python json

我正在从数据库中读取 JSON 并使用 python 对其进行解析。

cur1.execute("Select JSON from t1")
dataJSON = cur1.fetchall()
for row in dataJSON:
 jsonparse = json.loads(row)

问题是我正在阅读的某些 JSON 已损坏。 如果它不是有效的 json,我希望我的程序跳过 json,如果它是则继续解析它。现在我的程序一旦遇到损坏的 json 就会崩溃。 T1 有几个 JSON,我正在一一阅读。

最佳答案

更新

您将获得一个预期的字符串或缓冲区 - 您需要使用行 [0],因为结果将是 1 元组...并且您希望获取第一列也是唯一一列。

如果您确实想检查错误的 json

你可以在它周围放一个 try/except :

for row in dataJSON:
    try:
        jsonparse = json.loads(row)
    except Exception as e:
        pass

现在 - 而不是像上面那样使用 Exception - 使用此时发生的异常类型,这样你就不会捕获非 json 加载相关的错误......(它可能是 值错误)

关于python - 跳过损坏的 jsons python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17936051/

相关文章:

python - 为output_server()指定doc-id和plot-id(即URL)

python - Selenium 上的图像/文件上传

android - 如何处理包含带括号的字符串的 JSON?

javascript - 如何在 Javascript 中更改 JSON 数据的格式?

json - Azure 数据工厂 - REST API 调用分页

python - 需要 fit_generator() 的具体示例

c++ - 将 Python 嵌入到 C++ 应用程序中

python - 在 Python 中执行 VLOOKUP 没有给出正确的结果

json - 如何为 spray+akka actor 设置隐式 json 转换

c# - Windows Phone 7 中的 JSON 解析