Node.js 如何在Python和Node.js之间传递JSON数据进行通信

Node.js 如何在Python和Node.js之间传递JSON数据进行通信

JSON 可以缩写为JavaScript Object Notation。它是一种用于在编程语言中传输和存储数据的基于文本的文件。Python编程语言支持该格式,使用内置的 JSON 包处理。其文本以引号包裹的字符串格式给出,其中包含一个键和值,就像字典一样,放在 花括号{} 中。

要在Python中使用JSON,需要在Python脚本中导入JSON包。JSON包提供了几种方法,其中之一是dumps方法。此方法用于将Python元组对象转换为Java对象,以便在Python之间进行通信。

Node.js 是内置的JSON对象,用于将JSON数据解析为JavaScript。JSON中的parse函数用于将JSON对象转换为JavaScript字符串。

要在Node.js和Python之间传递JSON数据,我们使用HTTP请求和响应。

安装flask模块

首先,我们需要安装所需的模块,以建立Python和Node.js之间的通信。

pip install flask

输出

以下是安装flask模块的输出结果。

Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting flask
  Downloading Flask-2.2.3-py3-none-any.whl (101 kB)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 

Installing collected packages: flask
Successfully installed flask-2.2.3

安装request模块

现在我们需要安装request模块以在Python和Node.js服务器之间进行通信。

npm install request-promise

步骤

下面是在Python和Node.js之间进行JSON数据通信的步骤:

  • 首先,在我们的工作环境中导入Python中可用的JSON模块。
import json
  • 现在我们将使用Python以字典格式创建数据,然后使用json模块的 dumps() 函数将Python数据转换为json数据,以下是代码:
import json
data = {"Language":["Python","Java","C"], "Year":[2000,2004,2009]}
json_data = json.dumps(data)
print(json_data)
print(type(json_data))

当我们运行上述代码时,将会生成以下输出 –

{"Language": ["Python", "Java", "C"], "Year": [2000, 2004, 2009]}
<class 'str'="">
  • 在这一步骤中,我们将使用 Node.js 中可用的 parse() 函数将 json 数据转换为 javascript。以下是代码示例。
const json_string = '{"name": "John", "age": 30}';
const data = JSON.parse(json_string);
  • 现在我们需要在python模块和node js之间建立一个连接
import requests
import json
data = {"Language":["Python","Java","C"], "Year":[2000,2004,2009]}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
response = requests.post('http://localhost:3000', data=json.dumps(data), headers=headers)
  • 在这一步中,我们将创建JavaScript代码来接收从Python发送到Node.js的数据。
const http = require('http');
const server = http.createServer((req, res) => {
  let data = '';
  req.on('data', chunk => {
    data += chunk;
  });
  req.on('end', () => {
    const json_data = JSON.parse(data);
    console.log(json_data);
  });
  res.end('OK');
});

server.listen(3000, () => {
  console.log('Server listening on port 3000');
});

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程