[英]Execute python script and read its JSON output
我有一个 python 脚本“/marvel/avengers.py”,它在执行时返回以下 JSON 数组。
#!/usr/bin/python3
X = [{"name":"tony", "job": "ironman"}, {"name": "banner", "job": "hulk"}]
print(X)
OUTPUT:
[{'name':'tony', 'job': 'ironman'}, {'name': 'banner', 'job': 'hulk'}]
我想从 perl 执行这个 python 脚本并读取它的 JSON Z78E6221F6393D1356681DB39DZF1。 但我收到 JSON 解析错误。 我的 perl 代码:
#!/usr/bin/perl
use strict;
use warnings;
use JSON;
my $json = `python /marvel/avengers.py`;
print Dumper($json);
my $parsed_json = JSON::decode_json($json);
OUTPUT:
$VAR1 = '[{\'job\': \'ironman\', \'name\': \'tony\'}, {\'job\': \'hulk\', \'name\': \'banner\'}]
';
'"' expected, at character offset 2 (before "'job': 'ironman', 'n...") at ./avengers_perl.pl line 7.
Python 脚本在不是 JSON 的单引号中打印 output。 将其更改为以下解决了该问题。
#!/usr/bin/python3
import json
X = [{"name":"tony", "job": "ironman"}, {"name": "banner", "job": "hulk"}]
print(json.dumps(X), end='')
OUTPUT:
[{"job": "ironman", "name": "tony"}, {"job": "hulk", "name": "banner"}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.