我们尝试使用以下代码将ResultSet转换为JSON对象:
var getAllCalelements = {}; // Object
getAllCalelements['totalamount'] = [];
getAllCalelements['totalamount'].push(result.rows.item(i).totalamount);
getAllCalelements['discount'] = [];
getAllCalelements['discount'].push(result.rows.item(i).invoicediscount);
getAllCalelements['NetAmount'] = [];
getAllCalelements['NetAmount'].push(result.rows.item(i).namount);
getAllCalelements['vat'] = [];
getAllCalelements['vat'].push(result.rows.item(i).vat);
getAllCalelements['GrossAmount'] = [];
getAllCalelements['GrossAmount'].push(result.rows.item(i).gamount);
getAllCalelements['bookOrder'] = [];
getAllCalelements['bookOrder'].push(result.rows.item(i).bookorder);
var json = JSON.stringify(getAllCalelements, undefined, 2);但是,我们有这样的JSON
{
"totalamount": [19760.22],
"discount": [ 7],
"NetAmount": [ 18377],
"vat": [ 8],
"GrossAmount": [ 8],
"bookOrder": [ "ABCANG00110"]
}而且,我们需要像这样的JSON输出
[
{
"totalamount": 19760.22,
"discount": 7,
"NetAmount": 18377,
"vat": 8,
"GrossAmount": 8,
"bookOrder": "ABCANG00555"
}
] 我已经尝试过了,但是我没有像上面提到的那样获得欲望输出,而是得到了JSON输出。但我们需要上述格式的JSON。请指导我得到上面提到的我的愿望输出,谢谢。
发布于 2015-01-08 11:35:48
var obj = [];
for (var i = 0; i < result.rows.length; i++){
var getAllCalelements = {}; // Object
getAllCalelements['totalamount'] = result.rows.item(i).totalamount ;
getAllCalelements['discount'] = result.rows.item(i).invoicediscount;
getAllCalelements['NetAmount'] = result.rows.item(i).namount;
getAllCalelements['vat'] = result.rows.item(i).vat;
getAllCalelements['GrossAmount'] = result.rows.item(i).gamount;
getAllCalelements['bookOrder'] = result.rows.item(i).bookorder;
obj.push(getAllCalelements);
}
var json = JSON.stringify(obj, undefined, 2); 发布于 2015-01-08 11:39:11
试试下面的代码:
var obj = {};
obj = [];
for(var i=0;i<result.rows.item.length;i++)
{
var getAllCalelements = {}; // Object
getAllCalelements['totalamount'] = result.rows.item(i).totalamount ;
getAllCalelements['discount'] = result.rows.item(i).invoicediscount;
getAllCalelements['NetAmount'] = result.rows.item(i).namount;
getAllCalelements['vat'] = result.rows.item(i).vat;
getAllCalelements['GrossAmount'] = result.rows.item(i).gamount;
getAllCalelements['bookOrder'] = result.rows.item(i).bookorder;
obj.push(getAllCalelements);
}
var json = JSON.stringify(obj, undefined, 2); 产出:
[
{
"totalamount": "19760.22",
"discount": "7",
"NetAmount": "18377",
"vat": "8",
"GrossAmount": "8",
"bookOrder": "ABCANG00110"
}
] 如果要通过obj向obj.push(getAllCalelements)添加第二个对象,则输出将低于
[
{
"totalamount": "19760.22",
"discount": "7",
"NetAmount": "18377",
"vat": "8",
"GrossAmount": "8",
"bookOrder": "ABCANG00110"
},
{
"totalamount": "19760.22",
"discount": "7",
"NetAmount": "18377",
"vat": "8",
"GrossAmount": "8",
"bookOrder": "ABCANG00110"
}
]发布于 2017-09-16 12:39:32
@aschattney临时编写了您的答案,并使用Object.keys()使其动态化,还将其封装在一个函数中,因此您可以传递resultSet,即在本例中,sqlResultSet并返回有效的JSON。
function returnJsonFromSqlResultSet(sqlResultSet) {
var objArr = [];
if (sqlResultSet.rows.length > 0) {
var objKeys = Object.keys(sqlResultSet.rows.item(0)); //sample the keys from first element
for (var i = 0; i < sqlResultSet.rows.length; i++) {
var jsonObj = {}; // Object
for (var j = 0; j < objKeys.length; j++) {
jsonObj[objKeys[j]] = sqlResultSet.rows.item(i)[objKeys[j]];
}
objArr.push(jsonObj);
}
var json = JSON.stringify(objArr, undefined, 2);
return json;
}
}谢谢!
https://stackoverflow.com/questions/27838974
复制相似问题