如何在使用 Haxe 构建的 Flask 服务器中 return JSON

How to return JSON in Flask server built with Haxe

我正在尝试使用 Haxe 构建一个 Flask 服务器,但我对如何 return JSON 感到困惑。我举了一个例子 运行ning 使用 this gistMain.index() return 一个字符串,但是当我尝试 return 来自 [=15= 的字符串时] 当我尝试 运行 输出 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

正确运行。