javascript json.parse无法读取Python json转储
我正在尝试读取python中通过javascript json.parse无法读取Python json转储,javascript,python,json,Javascript,Python,Json,我正在尝试读取python中通过json.dump模块生成的json文件,并使用json.parse在javascript中读取它。但是,对于某些json转储,javascript会抛出无效文本的异常。有人知道为什么会发生这种情况吗?或者我应该做些什么来防止这种情况 浏览器:Chrome/Firefox;python版本:2.7 EDIT1:基于提供一些代码的注释 1) 使用 import json json.dump(<python-dict>, open(<filename
json.dump
模块生成的json文件,并使用json.parse
在javascript中读取它。但是,对于某些json转储,javascript会抛出无效文本的异常。有人知道为什么会发生这种情况吗?或者我应该做些什么来防止这种情况
浏览器:Chrome/Firefox;python版本:2.7
EDIT1:基于提供一些代码的注释
1) 使用
import json
json.dump(<python-dict>, open(<filename>,'w'), encoding='utf-8')``
导入json
dump(,open(,'w'),encoding='utf-8')``
2) 代码读取使用
输出:在调用回调之前抛出语法错误李>d3.json
输出:无效的jsonJSON.parse
EDIT2:这可能是相关的,json转储非常大,大约24M未压缩。您没有关闭文件,当您再次尝试读取该文件时,可能会导致文件不完整 怎么样
with open(filename, "w") as outfile:
json.dump(myobject, outfile)
为了完成这个循环,我找到了问题和相应的解决方法 首先是问题: 问题不在于
没有像一些答案所建议的那样关闭文件
,也不在于文件太大(正如我最初所想的那样)。问题是json.dump
部分之前的数据包含NAN,默认情况下json.dump
(请参阅)允许NAN被“序列化”或抛出错误(当“allow_NAN=False”时)。但是,根据ECMA-262,NAN是不允许的,因此jquery json读取无法读取转储
解决方案:
使用simplejson
并对其使用ignore\u nan
。更正后的代码段应为
import simplejson
simplejson.dump(<python-dict>, open(<filename>,'w'), encoding='utf-8', ignore_nan=True)
导入simplejson
simplejson.dump(,open(,'w'),encoding='utf-8',ignore_nan=True)
信用证:请您发布一些相关代码,这样更容易调试。:)很抱歉。。这是一个打字错误。。。我确实记得把东西给了他