2016-12-13 5 views
5

से आउटपुट में शून्य मान छुपाएं मेरे कोड में, एक पोस्टग्रेस तालिका पंक्ति से सभी जानकारी स्ट्रिंग होती है जब एक विशिष्ट पंक्ति आईडी चयनित होती है।JSON.stringify()

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 
} 

मैं जे एस के लिए नया हूँ और अगर वहाँ पूरी तरह से शून्य मान वाले कॉलम को बाहर करने का एक आसान तरीका हो सकता है जानना चाहूंगा - एक समारोह है कि मोटे तौर पर इस तरह दिखता है:

:

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 
} 
+0

परिणाम कहाँ प्राप्त किया गया है? –

+0

जावास्क्रिप्ट का संस्करण क्या है, या नोड? –

+0

इसमें नोड भी 'var url ='/api/parcels/'+ layerName +'/parcel/'+ parcelKey शामिल है; makeAjaxRequest (यूआरएल, पैरामीटर = {}) \t \t \t \t .done (समारोह (परिणाम) { वर jsonRes = result.message.rows; अगर (features.length) { // प्राप्त प्रतीक से निर्देशांक और उन निर्देशांकों पर मानचित्र को map.flyTo ({center: e.lngLat}); console.log (e.lngLat); } ' –

उत्तर

7

आप कुछ इस तरह कर सकते हैं:

function replacer(key,value) 
 
{ 
 
    if (value === null) return undefined 
 
    return value 
 
} 
 

 
var x = { 
 
    'x1':0, 
 
    'x2':null, 
 
    'x3':"xyz", 
 
    'x4': null, 
 
    'x5': null 
 
}; 
 
console.log(x) 
 
console.log(JSON.stringify(x, replacer));

0

इस प्रयास करें:

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); 
} 
-1

आपको अपने प्रारंभिक वस्तु रखना चाहते हैं तो आप इस प्रकार

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);

+0

हटा देता है क्यों डाउनवोट? – Weedoze

1

उत्तर के लिए धन्यवाद एक नया बना सकते हैं। मैं सिर्फ महसूस किया कि 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>' 
; 
संबंधित मुद्दे