在JavaScript代码中如何从Python JSON变量中获取数据

In JavaScript code how to get data from a Python JSON variable

python中的以下代码:

1
jsVar = (json.dumps(jsPass))

生成此输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
 "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格式化程序和验证程序网站的验证。

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

1
2
var myVar2 = {};
var myVar2 = jsVar;

当我查看javascript变量myVar2console.log.dir方法的输出时,没有数据。它返回Object { }和空的__proto__:Object

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

1
2
3
4
5
6
{
  TT1004: Array[1],
  TT1001: Array[1],
  TT1003: Array[1],
  TT1002: Array[1]
}

我需要学习的是如何将python json jsvar变量导入到javascript代码中。


从你原来的帖子:

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

JavaScript code: var myVar2 = jsVar;

问:如何从javascript代码访问python json变量?

答:python和javascript是两种不同的语言,您将以不同的方式运行它们,例如,为了运行通常使用python二进制的python代码,为了执行javascript,您将使用像google的V8这样的JS引擎。

注意:当您运行python和javascript代码时,这基本上由两个不同的进程来处理。也就是说,它们将有不同的内存空间,因此您的javascript进程不可能访问您的python代码的内存空间,除非我们讨论的是unix的shared memory。(我不想再提这个了)

因此,如果您考虑直接从一种语言甚至进程访问一个变量到另一个进程,那么这是不可能的。

但是,请记住,变量只是对内容的引用。我想说的是-您不需要将变量移植到其他地方,而是需要内容。

对于新手来说,最简单的方法是将内容序列化(layman-term:save)到File中,然后让javascript进程读取内容并将其解析回对象中。

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

Python侧:对于使用python将JSON数据写入一个文件,您可以参考本文以获得解决方案。如何在python中将JSON数据写入文件?

javascript端:要从文件中读取JSON数据,您可以通过nodejs轻松地完成这项工作。使用node.js,如何将JSON对象读取到(服务器)内存中?