2016-01-31 94 views

回答

3

您可以使用object,不是array

var myObject = { 
 
    "Key1": { 
 
     "field1": "4", 
 
     "field2": "6.62" 
 
    }, 
 
    "Key2": { 
 
     "field1": "10", 
 
     "field2": "7.62" 
 
    } 
 
}; 
 

 
document.write(myObject['Key2']['field2'] + '<br>'); // the same 
 
document.write(myObject.Key2.field2);    // as this 
 
document.write('<pre>' + JSON.stringify(myObject, 0, 4) + '</pre>');

+0

我需要的是輕鬆地通過鍵訪問的東西,如myarray的[「鍵1」] – user310291

+0

是的,這是工作。 pl見編輯。 –

0
 var myArray = [ 
      "Key1": { 
        "field1": "4", 
        "field2": "6.62" 
       } 
     , 

      "Key2": { 
        "field1": "10", 
        "field2": "7.62" 
       } 
    ]; 

console.log(JSON.stringify(myObject, 0, 4)); 
+0

這不是有效的JSON,並分析對字符串 –

+0

爲什麼呢?你可以給我提示 –

+0

你甚至試過你寫的東西嗎? –

1

如果你真的想保持你的數據結構對象的List

[ 
    { 
    "Key1": { 
     "field1": "4", 
     "field2": "6.62" 
    } 
    }, 
    { 
    "Key2": { 
     "field1": "10", 
     "field2": "7.62" 
    } 
    } 
] 

爲對象的Map

{ 
    "Key1": { 
    "field1": "4", 
    "field2": "6.62" 
    }, 
    "Key2": { 
    "field1": "10", 
    "field2": "7.62" 
    } 
} 
+0

我需要的是通過鍵如myArray [「Key1」]輕鬆訪問 – user310291

+0

我建議你去一個對象的地圖。 –

0

它應該是這樣的

var myArray = [ 
      { 
      "Key1": { 
        "field1": "4", 
        "field2": "6.62" 
       } 
      },   
      { 
       "Key2": { 
        "field1": "10", 
        "field2": "7.62" 
       } 
      } 
     ]; 

在你的例子中。

 var myArray = [ 

      "Key1": { 
        "field1": "4", 
        "field2": "6.62" 
       } 
     ]; 

關鍵鍵1指向的對象,但該鍵值對自身不遵守對象的真實語法。

對象應該是這樣的

{ 
    key : value 
} 

這裏您關鍵key1和價值是

{ 
    "field1": "4", 
    "field2": "6.62" 
} 

每一個關鍵:內部數組值應該由curly-braces ({})

1

包圍如果您要使用陣列個對象使它像下面這樣。

var myArray = [ 
     { 
      "Key1": { 
       "field1": "4", 
       "field2": "6.62" 
      } 
     }, 
     { 
      "Key2": { 
       "field1": "10", 
       "field2": "7.62" 
      } 
     } 
]; 

如果要訪問它直接與使用它作爲一個對象鍵(鍵/值對)

var myObj = { 
      "Key1": { 
       "field1": "4", 
       "field2": "6.62" 
      }, 
      "Key2": { 
       "field1": "10", 
       "field2": "7.62" 
      } 
     } 

你可以通過它使用的for..in循環迴路:

for (var key in myObj) { 
    console.log(myObj[key]); 
} 
+0

我需要的是通過鍵如myArray [「Key1」]輕鬆訪問 – user310291

0

您的數組在語法上無效。你有什麼要求雙方「關鍵」的名稱和索引來訪問數組元素?如果是,我認爲,Nishant的解決方案是正確的選擇。