In my code, all of the info from a Postgres table row are stringified when a specific rowID is selected.
var jsonRes = result.message.rows;
document.getElementById('panel').innerHTML = '<pre>' + JSON.stringify(jsonRes[0], null, "\t") + '</pre>'
结果看起来像这样:
{
"ogc_fid": 143667,
"relkey": 288007,
"acct": "000487000A0010000",
"recacs": "12.5495 AC",
"shape_star": 547131.567383,
"shape_stle": 3518.469618,
"objectid": 307755,
"zone_dist": "MU-3",
"pd_num": null,
"council_da": null,
"long_zone_": "MU-3",
"globalid": "{D5B006E8-716A-421F-A78A-2D71ED1DC118}",
"ord_num": null,
"notes": null,
"res_num": null,
"effectived": 1345766400000,
"shape.star": 629707.919922,
"shape.stle": 3917.657332,
"case_numbe": null,
"common_nam": null,
"districtus": null
}
我是 JS 的新手,想知道是否有一种简单的方法可以完全排除包含空值的列 - 一个大致如下所示的函数:
function hide(jsonObject) {
if (property === null) {
hide property
} else {
return str
}
}
所以最后,面板中的对象看起来像这样:
{
"ogc_fid": 143667,
"relkey": 288007,
"acct": "000487000A0010000",
"recacs": "12.5495 AC",
"shape_star": 547131.567383,
"shape_stle": 3518.469618,
"objectid": 307755,
"zone_dist": "MU-3",
"long_zone_": "MU-3",
"globalid": "{D5B006E8-716A-421F-A78A-2D71ED1DC118}",
"effectived": 1345766400000,
"shape.star": 629707.919922,
"shape.stle": 3917.657332
}
最佳答案
你可以这样做:
let x = {
'x1': 0,
'x2': null,
'x3': "xyz",
'x4': null
}
console.log(JSON.stringify(x, (key, value) => {
if (value !== null) return value
}))
关于javascript - 在 JSON.stringify() 的输出中隐藏空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41115702/