Fix for troublesome values being returned from DroidDB stores. Stick to one level of JSON serialization.

This commit is contained in:
Jos Shepherd 2010-11-05 17:03:05 +00:00
parent 36064c564e
commit fdc78e1b08
2 changed files with 4 additions and 5 deletions

View File

@ -27,9 +27,8 @@ var DroidDB = function() {
* @param rawdata JSON string of the row data
* @param id Query id
*/
DroidDB.prototype.addResult = function(rawdata, id) {
DroidDB.prototype.addResult = function(data, id) {
try {
eval("var data = " + rawdata + ";");
var query = this.queryQueue[id];
query.resultSet.push(data);
} catch (e) {

View File

@ -172,12 +172,12 @@ public class Storage extends Plugin {
try {
for (int i = 0; i < colCount; ++i) {
key = cur.getColumnName(i);
value = cur.getString(i).replace("\"", "\\\""); // must escape " with \" for JavaScript
value = cur.getString(i);
result.put(key, value);
}
// Send row back to JavaScript
this.sendJavascript("droiddb.addResult('" + result.toString() + "','" + tx_id + "');");
this.sendJavascript("droiddb.addResult(" + result.toString() + ",'" + tx_id + "');");
} catch (JSONException e) {
e.printStackTrace();