2016-07-31 53 views
0

我在許多地方都搜索過這個問題的答案。但是,我唯一能找到的是如何獲取JSON文件中某個鍵的所有值。我想知道是否有辦法獲得某個特定密鑰的價值。我有一個JSON文件設置像這樣:如何獲得一個特定的JSON密鑰的值

{ 
"Category": [{ 
    "Subcategory": { 
     "Item1": { 
      "key1": "value1", 
      "key2": "value2", 
      "key3": "value3", 
      "key4": "value4", 
      "key5": "value5", 
      "key6": "value6" 
     }, 
     "Item2": { 
      "key1": "value1", 
      "key2": "value2", 
      "key3": "value3", 
      "key4": "value4", 
      "key5": "value5", 
      "key6": "value6" 
      } 
     }  
    }] 
} 

我想知道使用JQuery/Javascript來獲得的方法,例如,爲key1在項目1的值(值)。

+5

'分類[0] .Subcategory.Item1.key1' –

+0

@GerardoFurtado將這項工作一個單獨的文件中使用console.log(類別[0] .Subcategory.Item1.key1? – Zuve

+0

示例:var body = JSON.parse(file_contents); val = body.Category [0] .Subcategory.Item1.key1;' – casraf

回答

0

像其他評論和答案,你可以很容易地獲得價值爲特定的硬編碼的關鍵是這樣的:

Category[0].Subcategory.Item1.key1 

但如果你有動態鍵,你可以這樣做:

var categories = { 
    "Category": [{ 
     "Subcategory": { 
      "Item1": { 
       "key1": "value1", 
       "key2": "value2", 
       "key3": "value3", 
       "key4": "value4", 
       "key5": "value5", 
       "key6": "value6" 
      }, 
      "Item2": { 
       "key1": "value1", 
       "key2": "value2", 
       "key3": "value3", 
       "key4": "value4", 
       "key5": "value5", 
       "key6": "value6" 
      } 
     } 
    }] 
}; 

var itemKeyName = "Item1"; 
var keyName = "key1"; 

console.log(categories.category[0].Subcategory[itemKeyName][keyName]; 
+0

我將如何使用來自其他文件的console.log。它會像console.log('路徑/文件名.json'.category [0] .SubCategory.Item1.Key1); – Zuve

+0

「我將如何使用來自另一個文件的console.log」 - 不起作用。在JavaScript中,你不能要求另一個文件。儘管可以通過XHR請求加載它,但解析它然後將內容記錄到控制檯。 –

0

你可以簡單地做:

Category[0].Subcategory.Item1.key1