2014-01-30 57 views
1

我在我的服務器端應用程序中有一塊Dart,我不知道如何將MySql提供的地圖轉換爲JSON類型的結構來發送這些數據給客戶。
安全:無法Sql注入;
簡單:只需要​​幾行代碼來轉換數據,考慮到一個字符串包含字符串分隔符('或「),不允許簡單的連接。
在客戶端,我解碼一個JSON字符串和填充表單 這是服務器程序:MySql數據從服務器到客戶端的安全和容易的傳輸

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-something。 在客戶端上我有這個:

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中的桌面應用程序,現在嘗試轉換。

+0

的注入部分的答案,我認爲所有你需要的是在這裏在計算器上。只需使用搜索功能。 '給我一些代碼'問題是關於SO的話題。 –

+0

如果是這樣,請重讀我的問題:什麼DART例程可以將由SqlJocky返回的MySql映射轉換爲Jason映射。 – Martin

+0

爲了安全傳輸,請使用SSL加密。 –

回答

1

stackoverflow中找到了編碼爲JSON的解決方案。將描述sql-table的類中的所有字段設置爲mySql獲得的結果並進行序列化。 Concat所有行。然後將該字符串傳遞給客戶端。

等待納瓦夫Alsulami的問題

相關問題