我正在尝试使用 Haxe 构建 Flask 服务器,但我对如何返回 JSON 感到困惑。我使用 this gist 启动并运行了一个示例,其中 Main.index()
返回一个字符串,但是当我尝试从 haxe.Json.stringify()
返回一个字符串时,当我尝试运行输出 Python 时出现错误。
import haxe.Constraints.Function;
@:pythonImport("flask", "Flask")
extern class Flask {
function new(module:String);
function route<T:Function>(path:String):T->T;
function run():Void;
}
class Main {
static function main() {
var app = new Flask(untyped __name__);
app.route("/")(index);
app.run();
}
static function index() {
return haxe.Json.stringify({msg:"hello"});
}
}
python 错误:
$ python main.py
File "main.py", line 69
return haxe_format_JsonPrinter.print(_hx_AnonObject({'msg': "hello"}),None,None)
^
SyntaxError: invalid syntax
最佳答案
它似乎没有很好的文档记录,但 Haxe 的 python 目标只支持 Python 3。见 https://github.com/HaxeFoundation/haxe/issues/4195
在这种情况下,“print”是 Python 2 中的关键字,Haxe 生成的代码试图生成一个名为“print”的函数,因此出现错误。
尝试:
python3 main.py
让它正确运行。
关于python - 如何在使用 Haxe 构建的 Flask 服务器中返回 JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38041638/