我正在通過json
和key
以下函數檢索其value
。關鍵可以像abc.cde.def它也可以像fgh一樣。nodejs - 從嵌套和非嵌套json檢索值
如果密鑰包含.
那麼它是一個嵌套json
和值必須相應retirieved其被正確地發生,但如果它是一個普通的json
不具有巢那麼它不工作。打印keysData的長度(以防key
就像FGH)它打印3,它應該打印1.
function getValueFromJson(jsonInput,keyInput) {
if(keyInput.includes('.')){
var keysData = keyInput.split('.');
}
else {
keysData = keyInput.toString()
}
var jsonHierarchy = jsonInput;
if(parseInt(keysData.length) === parseInt('1')){
console.log(jsonHierarchy)
console.log(keysData)
console.log(jsonHierarchy[keysData ])
jsonHierarchy = jsonHierarchy[keysData ];
}
return jsonHierarchy;
};
任何人都可以請幫助我如何處理呢?
由於你正在使用的密鑰作爲字符串數據類型的'.length'屬性得到那個結果。你需要將你的'keysInput'放到一個數組中 –