반응형
JSON.stringify() 출력의 늘 값을 숨깁니다.
내 코드에서 Postgres 테이블 행의 모든 정보는 특정 행이 지정될 때 문자열화됩니다.ID가 선택되었습니다.
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
}
다음과 같은 작업을 수행할 수 있습니다.
let x = {
'x1': 0,
'x2': null,
'x3': "xyz",
'x4': null
}
console.log(JSON.stringify(x, (key, value) => {
if (value !== null) return value
}))
답장 감사합니다.JSON.stringify()에는 다음 명령어가 있습니다.REPLACER
파라미터(여기서 info)
그래서 덧붙였습니다.
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>'
;
초기 개체를 유지하려면 다음과 같은 새 개체를 만들 수 있습니다.
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);
이것을 시험해 보세요.
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);
}
언급URL : https://stackoverflow.com/questions/41115702/hide-null-values-in-output-from-json-stringify
반응형
'programing' 카테고리의 다른 글
스프링 부트 및 MongoDB 접속 상세 설정 방법 (0) | 2023.04.01 |
---|---|
ui-router 및 Angularjs를 사용하여 TOP로 자동 스크롤 (0) | 2023.04.01 |
재료-ui 자동완료 경고 자동완료에 제공된 값이 잘못되었습니다. (0) | 2023.04.01 |
JSON을 프로그램적으로 아름답게 하려면 어떻게 해야 하나요? (0) | 2023.04.01 |
Mongodb에서 단일 문서의 크기를 얻는 방법은 무엇입니까? (0) | 2023.04.01 |