【发布时间】:2016-09-03 17:29:50
【问题描述】:
注意:这不适用于网络编程。我们使用 javascript 与低级硬件接口,因此我们不要使用 jQuery API 等。
我有一个在设备上执行一系列操作的 javascript 文件,我有一个稍后将调用以验证这些操作的 python 文件。在 javascript 文件和 python 文件中都有一组硬编码的硬件信息。我想通过将这些信息放入 JSON 文件中来避免这种信息重复,以便双方都可以访问它。
// Javascript
var hardware_info = JSON.parse(load('hardware.json'));
// load() is probably not standard javascript API, but it basically copies that code into the existing script.
这一步已经失败,因为“hardware.json”没有使用 javascript 语法...
我已经使用 jshint/jslint 验证了 json,hardware.json 看起来像这样:
{
"hardware1": {
"ID": "xxx"
},
"hardware2": {
"ID": "yyy"
}
}
以下 Python 可以很好地访问 json,没有太多内容:
with open('hardware.json', 'r') as f:
data = json.load(f)
【问题讨论】:
-
您不想像加载 JavaScript 一样加载 JSON 文件。你应该把它当作一个字符串来读,然后交给
JSON.parse()。 (或者使用从文件中解析 JSON 的函数。) -
那么
load()是从哪里来的,文档说它是做什么的?难道load()执行 加载的文件没有返回任何东西? -
如果
load()执行数据,您可以将数据格式化为 JSONP(在 Python 中加载时,您必须从文件中删除 JSONP 函数调用)。 -
@MartijnPieters 你是完全正确的, load() 确实执行了代码。我只是试图在加载的文件中打印一些东西,它确实打印出来了。你能解释一下 JSONP 在这种情况下如何帮助我吗?没有太多的文档。
标签: javascript python json