在JavaScript代码中如何从Python JSON变量

时间:2016-07-28 23:29:39

标签: javascript python json

Python中的以下代码:

jsVar = (json.dumps(jsPass))

生成此输出:

{
  "TT1004": [
    [1004, 45.296109039999997, -75.926546579999993,
      66.996664760000002, 150, false
    ]
  ],
  "TT1001": [
    [1001, 45.296471220000001, -75.923881289999997, 64.616423409999996, 150, false]
  ],
  "TT1003": [
    [1003, 45.296109379999997, -75.926543379999998,
      67.240025419999995, 150, false
    ]
  ],
  "TT1002": [
    [1002, 45.29626098, -75.924908610000003, 65.300880480000004, 150, true]
  ]
}

输出通过了JSON Formatter&的验证。验证者网站。

在JavaScript代码中,我设置了以下内容:

var myVar2 = {};
var myVar2 = jsVar;

当我查看JavaScript变量console.log的{​​{1}}或.dir方法的输出时,没有数据。它返回myVar2以及空Object { }

为了测试生成的Python数据是否正确JS,我已手动将数据放入JavaScript变量中,该变量记录以下内容:

__proto__:Object

我需要学习的是如何将Python JSON jsVar变量导入JavaScript代码。

1 个答案:

答案 0 :(得分:0)

从您的原始帖子

  

Python:jsVar = (json.dumps(jsPass))

     

JavaScript代码:var myVar2 = jsVar;

问:如何从Javascript代码访问Python JSON变量?

Python和Javascript是两种不同的语言,您可以以不同的方式运行它们,例如运行通常使用python二进制文件的Python代码并执行Javascript,您将使用像Google V8这样的JS引擎。

请注意:当您运行python和javascript代码时,这基本上由2个不同的进程处理。也就是说,它们将具有不同的内存空间,因此除非我们讨论的是Unix shared memory,否则您的Javascript进程无法访问Python代码的内存空间。 (我不打扰这个)

因此,如果您正在考虑直接从1种语言访问变量,甚至可以处理到另一个流程,那么它可能

但是,请记住,变量只是对您内容的引用。我想说的是 - 你不需要移植变量,而是需要内容。

新手最简单的方法是将内容序列化(外行术语:保存)到File,然后让Javascript进程读出内容并将其解析回对象。

我希望这些指南对您有用;

Python方面:
使用Python将JSON数据写入文件 - 您可以参考此SO帖子以获得解决方案 How do I write JSON data to a file in Python?

Javascript方面:
要从文件中读取JSON数据,您可以通过NodeJS轻松完成此操作 Using Node.JS, how do I read a JSON object into (server) memory?