We have tried to convert ResultSet into JSON object using following code :
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);
But, We got JSON like this
{
"totalamount": [19760.22],
"discount": [ 7],
"NetAmount": [ 18377],
"vat": [ 8],
"GrossAmount": [ 8],
"bookOrder": [ "ABCANG00110"]
}
And, We need JSON output like this
[
{
"totalamount": 19760.22,
"discount": 7,
"NetAmount": 18377,
"vat": 8,
"GrossAmount": 8,
"bookOrder": "ABCANG00555"
}
]
I have tried but i am not getting desire output as mention above, I am getting JSON output. But We need JSON in the above format. All please guide me to get my desire output which is mention above, Thanks.
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);
Try below code :
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);
Output :
[
{
"totalamount": "19760.22",
"discount": "7",
"NetAmount": "18377",
"vat": "8",
"GrossAmount": "8",
"bookOrder": "ABCANG00110"
}
]
If you are adding second object to obj
by obj.push(getAllCalelements)
you will get below output
[
{
"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"
}
]
@aschattney Improvised on your answer and made it dynamic with Object.keys()
also wrapped it in a function so you pass the resultSet
ie in this case, sqlResultSet
and it returns valid 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;
}
}
Thanks!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.