如何在使用 Haxe 构建的 Flask 服务器中 return JSON
How to return JSON in Flask server built with Haxe
我正在尝试使用 Haxe 构建一个 Flask 服务器,但我对如何 return JSON 感到困惑。我举了一个例子 运行ning 使用 this gist 有 Main.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
正确运行。
我正在尝试使用 Haxe 构建一个 Flask 服务器,但我对如何 return JSON 感到困惑。我举了一个例子 运行ning 使用 this gist 有 Main.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
正确运行。