我的服务器端应用程序中有一块 Dart,我不知道如何将 MySql 传递的地图转换为 JSON 类型的结构,以将这些数据发送到客户端。
安全:无法进行 Sql 注入;
简单:只需几行代码即可转换数据,考虑到字符串包含字符串分隔符('或“),不允许简单的连接。
在客户端我解码 JSON 字符串并填充表单. 这是服务器例程:
void handlePost(HttpRequest req) {
HttpResponse res = req.response;
req.listen((List<int> buffer) {
addCorsHeaders(res);
AsciiDecoder a = new AsciiDecoder();
String s = a.convert(buffer); // contains key data in JSON-string
Map data = JSON.decode(s);
if (data.containsKey("key")){
var r1 = data{"key"};
pool.query('select fi, la, age from person where keyT =' + r1).then((result) {
result.forEach((row) {
print("FirstName: ${row[0]}, lastName: ${row[1]}, Age: ${row[2]}");
closeRes(res, JSONdata);
});
});
}
else closeRes(res, "NOK missing key");
},
onError: printError);
}
在我写的地方,print("FirstName: ${row[0]}, lastName: ${row[1]}, Age: ${row[2]}");
我会编写一些将 MySql 映射转换为某种东西的代码,我可以在客户端将其转换为 JSON 某种东西。在客户端我有这个:
void getDataFromServer(){
HttpRequest request = new HttpRequest(); // create a new XHR
request.onReadyStateChange.listen((_) {
if (request.readyState == HttpRequest.DONE &&
(request.status == 200 || request.status == 0)) {
extractJson(request.responseText); // output the response
}
});
request.open("POST", url, async: false);
request.send(jsonData); // POST string like: {"key":"12345"}
}
有人可以写几行代码,显示操作方法吗?或者给我看一篇有一些工作例子的文章?我正在运行最新版本的 Dart。
我曾经(15 年)用 VBasic 编写桌面应用程序,现在尝试转换。