如何将结果集转换为 JSON 对象
how to convert ResultSet to JSON object
我们尝试使用以下代码将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。所有人都请指导我获得上面提到的我的愿望输出,谢谢。
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);
尝试以下代码:
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.push(getAllCalelements)
将第二个对象添加到obj
,则会得到以下输出
[
{
"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 即兴创作您的答案并使其动态化 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;
}
}
谢谢!
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象