我有一个Python脚本,使用 NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NotificationChannels.TRIPS_CHANNEL_ID)
.setSmallIcon(ICON_DRAWABLE)
.setColor(TITLE_COLOR)
.setContentTitle(FIRST_LINE_TEXT) // "Remote input"
.setContentText(SECOND_LINE_TEXT); // "Try typing some text!"
和employeeDF.max("salary").groupBy("departmentId").show()
向PHP输出一堆文本。我还必须在两者之间发送一个字典,以存储一些脚本信息。这是我的代码的简化版本:
print
输出(在PHP中):
shell_exec()
所以同样的事情,除了JSON有双引号。
如果我想使用JSON(import json
# Lots of code here
user_vars = {'money':player.money}
print(user_vars)
print(json.dumps(user_vars))
,输出{'money': 0} {"money": 0}
,请注意双引号)来传输数据,这是我将使用的代码:
print(json.dumps(user_vars))
我有两个问题:
{"money": 0}
代替
<?php
$result = shell_exec('python JSONtest.py');
$resultData = json_decode($result, true);
echo $resultData["money"];
?>
,反之亦然?print(user_vars)
/ print(json.dumps(user_vars))
而不必在最终的PHP页面中看到它而不必将它们转储到实际的user_vars
文件中?或者我是以错误的方式解决这个问题?我的代码基于问题here。
答案 0 :(得分:0)
这段代码可以解决问题。
import json
data = {'fruit':['oranges', 'apples', 'peaches'], 'age':12}
with open('data.json', 'w') as outfile:
json.dump(data, outfile)
<?php
$string = file_get_contents("data.json");
$json_a = json_decode($string, true);
echo $json_a['age']; # Note that 'fruit' doesn't work:
# PHP Notice: Array to string conversion in /var/www/html/JSONtest.php on line 4
# Array
?>
此方法仅适用于字符串,但它确实解决了我的问题,我可以绕过不使用列表/数组。