python解析较大的json文件报异常,怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python解析较大的json文件报异常,怎么处理相关的知识,希望对你有一定的参考价值。

1.有可能是格式的问题。建议提出来一个到在线解析看一看
2.实在不行,就设置一个异常抛出,正常情况下异常的可能就那一个。
抛异常代码:
with open('d://py/20160122.json','r') as fo:
for line in fo:
try:
# print(count)
paper[count]=json.loads(line)
count+=1
except ValueError:
continue
参考技术A 有可能是无效的json文件,请给更多的错误提示信息以便分析问题

更新Newtonsoft.Json后报异常,未能加载文件或程序集“Newtonsoft.Json

未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.IO.FileLoadException: 未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

源错误: 程序集加载跟踪: 下列信息有助于确定程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”未能加载的原因。

=== 预绑定状态信息 ===
日志: DisplayName = Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
 (Fully-specified)
日志: Appbase = file:///G:/code/IronFuryServer/Route/
日志: 初始 PrivatePath = G:\code\IronFuryServer\Route\bin
调用程序集: System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35。
===
日志: 此绑定从 default 加载上下文开始。
日志: 正在使用应用程序配置文件: G:\code\IronFuryServer\Route\web.config
日志: 使用主机配置文件: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
日志: 使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config 的计算机配置文件。
日志: 策略后引用: Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
日志: 尝试下载新的 URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/24fb3432/4a6a283a/Newtonsoft.Json.DLL。
日志: 尝试下载新的 URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/24fb3432/4a6a283a/Newtonsoft.Json/Newtonsoft.Json.DLL。
日志: 尝试下载新的 URL file:///G:/code/IronFuryServer/Route/bin/Newtonsoft.Json.DLL。
警告: 比较程序集名称时发生不匹配: 主版本
错误: 未能完成程序集的安装(hr = 0x80131040)。探测终止。

因为引用出了问题,在你的程序集里面找不到的Newtonsoft.Json,所以它就拿从系统盘里面预装的旧版的来用。


结果就报版本错误了。

第一,引用不存在vs自动找到旧版的。
第二,web.config配置的版本号跟实际想要版本号不对。
第三,bin文件夹里面的根本就是旧版的。

解决方法!你可以删除bin文件夹里面的Newtonsoft.Json,重新用nuget 引用一遍

以上是关于python解析较大的json文件报异常,怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

Android json解析架包(阿里巴巴的fastjson)处理是报异常。

python操作:json文件中存在NumberInt(0),没有引号,无法解析?

如何用Python获取网页中json的参数

json数据解析出错应该怎么办

Python求解:猜数字游戏新建文件以及异常处理

更新Newtonsoft.Json后报异常,未能加载文件或程序集“Newtonsoft.Json