[英]How to get the 'Value' using 'Key' from json in Javascript/Jquery
我有以下Json字符串。 我希望使用'Key'得到'Value',就像這樣
給'BtchGotAdjust'返回'Batch Got Adjusted';
var jsonstring=
[{"Key":"BtchGotAdjust","Value":"Batch Got Adjusted"},{"Key":"UnitToUnit","Value":"Unit To Unit"},]
哇...看起來有點難! 好像你需要稍微操縱一下。 我們可以用這種方式創建一個新對象,而不是函數:
var jsonstring =
[{"Key":"BtchGotAdjust","Value":"Batch Got Adjusted"},{"Key":"UnitToUnit","Value":"Unit To Unit"},];
var finalJSON = {};
for (var i in jsonstring)
finalJSON[jsonstring[i]["Key"]] = jsonstring[i]["Value"];
您可以使用它:
finalJSON["BtchGotAdjust"]; // Batch Got Adjusted
由於變量中有數組,因此必須循環遍歷數組並與每個元素的Key
-Property進行比較,這與以下內容類似:
for (var i = 0; i < jsonstring.length; i++) {
if (jsonstring[i].Key === 'BtchGotAdjust') {
console.log(jsonstring[i].Value);
}
}
順便說一下,我認為你的變量名稱jsonstring
有點誤導。 它不包含一個字符串。 它包含一個數組。 不過,上面的代碼應該會給你一個正確方向的提示。
我個人會從數組創建一個地圖,然后它就像一個字典,讓你即時訪問。 您還必須遍歷數組一次以獲取所需的所有數據:
var objectArray = [{"Key":"BtchGotAdjust","Value":"Batch Got Adjusted"},{"Key":"UnitToUnit","Value":"Unit To Unit"}]
var map = {}
for (var i=0; i < objectArray.length; i++){
map[objectArray[i].Key] = objectArray[i]
}
console.log(map);
alert(map["BtchGotAdjust"].Value)
alert(map["UnitToUnit"].Value)
請參閱js fiddle: http : //jsfiddle.net/t2vrn1pq/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.