2011-07-17 8 views
2
  • null値を持つキーを削除して新しいjsonを作成するにはどうすればよいですか?
  • このレスポンスをどのように反復することができますか。私はこのキーを表示したいところです ==>対応する値。

答えて

2

if (objectName.propertyName === null) { 
    delete objectName.propertyName; 
} 

を反復プロパティを投げますあなたのjavascriptオブジェクトを修正するためにあなたが投稿したものは誤りでいっぱいです。あなたはそれをループ

var values = [{ 
    'SPO2': 222.00000, 
    'VitalGroupID': 1152, 
    'Temperature': 36.6666666666667, 
    'DateTimeTaken': '/Date(1301494335000-0400)/', 
    'UserID': 1, 
    'Height': 182.88, 
    'UserName': null, 
    'BloodPressureDiastolic': 80, 
    'Weight': 100909.090909091, 
    'TemperatureMethod': 'Oral', 
    'Resprate': null, 
    'HeartRate': 111, 
    'BloodPressurePosition': 'Standing', 
    'VitalSite': 'Popliteal', 
    'VitalID': 1135, 
    'Laterality': 'Right', 
    'HeartRateRegularity': 'Regular', 
    'HeadCircumference': '', 
    'BloodPressureSystolic': 120, 
    'CuffSize': 'XL' 
}, { 
    'SPO2': 100.00000, 
    'VitalGroupID': 1113, 
    'Temperature': 32.7777777777778, 
    'DateTimeTaken': '/Date(1299856980000-0500)/', 
    'UserID': 1, 
    'Height': 0, 
    'UserName': 'Admin', 
    'BloodPressureDiastolic': 78, 
    'Weight': 49895.1607, 
    'TemperatureMethod': '', 
    'Resprate': null, 
    'HeartRate': null, 
    'BloodPressurePosition': 'Sitting', 
    'VitalSite': '', 
    'VitalID': 1096, 
    'Laterality': '', 
    'HeartRateRegularity': 'Regular', 
    'HeadCircumference': '', 
    'BloodPressureSystolic': 120, 
    'CuffSize': '' 
}]; 

できます:

for (var i = 0; i < values.length; i++) { 
    // this will run for each element of the initial array 

    for (var propertyName in values[i]) { 
     // this will run for each property of the element 
     var propertyValue = values[i][propertyName]; 

     if (propertyValue == null) { 
      // if the value is null remove it 
      delete values[i][propertyName]; 
     } else { 
      console.log('name: ' + propertyName + ', value: ' + propertyValue); 
     } 
    } 
} 

Demoをあなたが有効な配列をしたら。

+0

オブジェクト内のキーの総数を知るには... –

+0

@John Cooper、ここをクリック:http://stackoverflow.com/questions/126100/how-toキーの数を効率的に数える - オブジェクト内のオブジェクトのプロパティ –

5

1:これにより、偽の値、つまりNull、未定義または空の文字列が削除されます。あなたは特にnullsを確認することができます。あなたが読んで、削除が何をするのか理解してください、それは困った人の多くを取得します。

for(var key in someObject) { 
    if(!someObject[key]) { 
     delete someObject[key]; 
    } 
} 

2:あなたはそうのように、オブジェクトのすべてのプロパティと値を反復処理することができます

for(var key in someObject) { 
    console.log("The value of " + key + " is " + someObject[key]); 
} 
+2

これは偽のキーを削除しませんか? –

1

は、プロパティの削除:

for (var key in objectName) { 
    document.write(objectName[key]); 
} 
+0

'undefined'と' null'も同様のセマンティクスを持っています。 '=='を使用する方が安定しています –

1
var array_of_json_hashes; 

var result = []; 

for(var i = 0; i < array_of_json_hashes.length; i++) { 
    result[i] = {}; 
    var h = array_of_json_hashes[i]; 
    for (var key in h) { 
    console.log(key); 
    console.log(h[key]); 
    if (h.hasOwnProperty(key)) { 
     if(h[key]) { 
     result[i][key] = h[key]; 
     } 
    } 
    } 
} 

console.log(result); 
関連する問題