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


JSON 可以缩写为 JavaScript 对象表示法 (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.ac.cn/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

安装 requests 模块

现在,我们必须安装 requests 模块才能在 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('https://127.0.0.1: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');
}); 

更新于:2023年8月9日

浏览量:539

启动您的职业生涯

通过完成课程获得认证

开始学习
广告