JSON.parse()从pythonsell字符串返回字符串

2024-04-25 12:08:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Node中使用PythonShell运行一个Python脚本,它返回如下Python dict(在Python中):

{ "playedStatus": game['playedStatus'].encode('ascii'),
"awayTeamAbb": game['awayTeamAbb'].encode('ascii'),
"homeTeamAbb": game['homeTeamAbb'].encode('ascii'),
"sport": 'NFL'}

当Python dict被传递回Node时,它是字符串格式,如下所示:

^{pr2}$

我试着把这根绳子穿过JSON.parse以两种不同的方式将其用作Javascript对象。但是,我继续得到一个字符串而不是一个对象。在

let parsed_JSON = JSON.parse(JSON.stringify(python_string_object));
console.log(typeof parsed_JSON); //returns 'string'

我做错什么了?我怎样才能把它转换成一个对象?在


Tags: 对象字符串gamenodejsonstringparseascii
3条回答

python_string_object={'home': 'CHI', 'sport': 'NFL', 'playedStatus': 'UNPLAYED', 'away': 'SEA'} let parsed_JSON = JSON.parse(JSON.stringify(python_string_object)); console.log(typeof parsed_JSON);//object python_string_object="{'home': 'CHI', 'sport': 'NFL', 'playedStatus': 'UNPLAYED', 'away': 'SEA'}" let parsed_JSON2 = JSON.parse(JSON.stringify(python_string_object)); console.log(typeof parsed_JSON2);//string

和13;
和13;

如果在得到python_string_对象时对它执行类型of,那么它将是string类型。没必要JSON.stringify()2个

首先让python脚本返回JSON转储而不是dict:

import json

my_dict = {'home': 'CHI', 'sport': 'NFL', 'playedStatus': 'UNPLAYED', 'away': 'SEA'}
json_dict = json.dumps(my_dict)
print(json_dict)

然后在您的节点侧,让python shell使用json模式进行解析,您就完成了:

^{pr2}$

我认为您需要使用您的字典并使用python的json包将其转换为适当的json。首先,使用json.loads()将字典转换为字符串,然后可以使用json.dumps()并在python脚本中返回结果,以确保字典以json形式输出。在

我相信这是这个问题的重复:Converting Dictionary to JSON in python

相关问题 更多 >