Javascript 如何将JSON解析为数组(对于google脚本)
我正在使用Google脚本,目前有以下JSON格式的字符串,我可以从加密站点的API中获得Javascript 如何将JSON解析为数组(对于google脚本),javascript,json,google-apps-script,Javascript,Json,Google Apps Script,我正在使用Google脚本,目前有以下JSON格式的字符串,我可以从加密站点的API中获得 {"sellerCommission":0,"updateTime":1613134493127,"accountType":"SPOT","balances":[{"asset":"BTC","free":"0.00000000&quo
{"sellerCommission":0,"updateTime":1613134493127,"accountType":"SPOT","balances":[{"asset":"BTC","free":"0.00000000","locked":"0.00000000"},{"asset":"ETH","free":"0.05000000","locked":"0.00000000"},{"asset":"OXT","free":"1.00000000","locked":"0.00000000"},{"asset":"ZEN","free":"2.00000000","locked":"0.00000000"}],"permissions":["SPOT"]}
我想把它转换成一个数组。我希望数组的格式为[asset,free,locked],并且我只希望当free的值大于0时它显示在数组中。实现这一目标的最佳方法是什么?
function myfunction() {
const jsn='{"sellerCommission":0,"updateTime":1613134493127,"accountType":"SPOT","balances":[{"asset":"BTC","free":"0.00000000","locked":"0.00000000"},{"asset":"ETH","free":"0.05000000","locked":"0.00000000"},{"asset":"OXT","free":"1.00000000","locked":"0.00000000"},{"asset":"ZEN","free":"2.00000000","locked":"0.00000000"}],"permissions":["SPOT"]}';
const obj=JSON.parse(jsn);
let oA=[];
obj.balances.forEach((o,i)=>{
if(o.free>0) {
oA.push([o.asset,o.free,o.locked]);
}
});
console.log(JSON.stringify(oA));
}
Execution log
9:49:40 PM Notice Execution started
9:49:41 PM Info [["ETH","0.05000000",null],["OXT","1.00000000",null],["ZEN","2.00000000",null]]
9:49:41 PM Notice Execution completed
//也许再干净一点
常数响应={
卖方佣金:0,
更新时间:1613134493127,
帐户类型:SPOT,
余额:[{
资产:BTC,
免费:0.00000000,
锁定:0.00000000
}, {
资产:ETH,
免费:0.0500000,
锁定:0.00000000
}, {
资产:OXT,
免费:100000000,
锁定:0.00000000
}, {
资产:禅宗,
免费:2.00000000,
锁定:0.00000000
}],
权限:[SPOT]
};
常量mapToArray=arr=>arr.filteritem=>item.free>0.mapitem=>[item.asset,item.free,item.locked];
console.logmapToArrayresponse.balances;非常感谢。效果很好。在上面的例子中,你有一个小的类型,你有小盒而不是锁着的,但是这个概念正是我需要的。很抱歉输入错误。随着年龄的增长,你可以预料到这类事情。