2014-12-10 2 views
0

Multi-массив чтения не Variable

var langeJSON = { 
 
\t "placeholder": 
 
\t [ 
 
\t \t { "#colEmail01" \t \t \t : "Hello you" } 
 
\t ] 
 
} 
 

 
var result = langeJSON["placeholder"]["#colEmail01"]; // is empty ???

Почему результат пуст?

+1

Знаете ли вы, что такое массив (вещи внутри '[]') и как получить доступ к их элементам? –

ответ

0

Попробуйте

langeJSON["placeholder"][0]["#colEmail01"] 

Вы определяете placeholder как массив, а не только один объект.

И если вы хотите использовать langeJSON["placeholder"]["#colEmail01"];, вы должны построить свой JSON как:

var langeJSON = { 
    "placeholder": { "#colEmail01": "Hello you" } 
} 
var result = langeJSON["placeholder"]["#colEmail01"]; 
+2

Downvoter, пожалуйста, опишите, что здесь не так? –

+0

Вы правы, спасибо – Volk3r

0

Это потому, что langeJSON не имеет индекса, называемого «текст». вместо этого он имеет ключ, называемый «заполнителем». Вы можете получить результат, выполнив следующие действия (при условии, что это в JavaScript, глядя на код):

var langeJSON = { 
    "placeholder": 
    [ 
     { "#colEmail01"   : "Hello you" } 
    ] 
} 

var result = langeJSON["placeholder"][0]["#colEmail01"]; // should return "Hello you" 
+0

Привет, эта работа не! – Volk3r

+0

мой плохой, забыл добавить индекс ;-) должен теперь работать – Nick

+0

Извините, это работает: o) Спасибо вам – Volk3r

0

Вы не можете использовать это как массив, сначала нужно разобрать это, чтобы получить результат.

var langeJSON = '{ "placeholder": [ { "colEmail01": "Hello you" } ] }'; var ll = JSON.parse(langeJSON); var result = ll.placeholder[0].colEmail01; 
+0

Нужна также функция 'JSON.stringify' js перед синтаксическим анализом? :) –