私のコードでは、特定のrowIDが選択されると、Postgresテーブルの行のすべての情報が文字列化されます。
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が初めてなので、null値を含む列を完全に除外する簡単な方法があるかどうかを知りたいと思います。これはおおよそ次のような関数です。
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
}
返信いただきありがとうございます。 JSON.stringify()にREPLACER
パラメータがあることを認識しました( info here )
だから私はちょうど追加しました:
function replacer(key, value) {
// Filtering out properties
if (value === null) {
return undefined;
}
return value;
}
document.getElementById('panel').innerHTML =
'<pre>' +
JSON.stringify(jsonRes[0], replacer, "\t") +
'</pre>'
;
次のようなことができます:
let x = {
'x1':0,
'x2':null,
'x3':"xyz",
'x4': null
}
console.log(JSON.stringify(x, (key, value) => {
if (value !== null) return value
}))
これを試して:
function getCleanObject(jsonObject) {
var clone = JSON.parse(JSON.stringify(jsonObject))
for(var prop in clone)
if(clone[prop] == null)
delete clone[prop];
return JSON.stringify(clone);
}
初期オブジェクトを保持したい場合は、次のような新しいオブジェクトを作成できます
var object = {
"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
};
var newObj = {};
Object.keys(object).forEach(function(key) {
if (object[key] !== null)
newObj[key] = object[key];
});
console.log(newObj);