雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-08-10 50

JSON 可以缩写为 JavaScript Object Notation。它是一个基于文本的文件,用于在编程语言中传输和存储数据。它由使用内置包即 JSON 的 python 编程语言支持,其文本以带引号的字符串格式给出,其中在大括号 {} 中包含与字典相同的键和值。

为了在 python 中使用 JSON,我们必须在 python 脚本中导入 JSON 包。JSON 包提供了几种方法,其中一种方法是转储。这用于将 python 元组对象转换为 Java 对象,以执行 python 之间的通信。

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

为了在 Node.js 和 python 之间传输 JSON 数据,我们使用 http 请求和响应。

安装烧瓶模块

首先,我们必须安装所需的模块来建立 python 和 Node 之间的通信.js

pip install flask

输出

以下是安装烧瓶模块的输出。

Looking in indexes: https://pypi.org/simplehttps://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

安装请求模块

现在我们必须安装请求模块来在 python 和 node js 服务器之间进行通信。

npm install request-promise

步骤

接下来,我们必须按照步骤在python和Node之间传达JSON数据.js如下所示。

首先,我们必须在工作环境中导入 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 数据转换为 java 脚本。以下是代码。

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)

在此步骤中,我们将创建 java 脚本来接收从 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'); });

更新于:3个月前
赞一波!3

文章评论

评论问答