2013-11-22 5 views
3

Я использую элемент multiselect из select2 для ввода нескольких «тегов». Когда я хочу, чтобы получить значение из элемента я получаю что-то вроде этого (для tag1 ан tag2 который вводил в коробке):Извлечь значения из json string javascript

[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}] 

Как получить результат с текстом в качестве чего-то массива, как это:

[0] = "tag1" 
[1] = "tag2" 

И как мне отменить этот процесс?

+1

возможного дубликата [Access/процесса (вложенные) объекты, массивы или JSON] (HTTP: // StackOverflow .com/questions/11922383/access-process-nested-objects-arrays-or-json) –

ответ

0

Попробуйте эту простую итерацию.

var obj = [{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}] ; 

for (var i =0; i< obj.length ;i++) { 
    console.log(obj[i].id); 
} 
4

Вот еще один подход

[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}].map(function(el) { 
return el.id; 
}); 
+0

+1 Использование 'map()', хороший подход, который возвращает эти id в массив. – Praveen

+0

Конечно, если это поддерживается;) – nullpotent

1
var data = JSON.parse('[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}] '); 
data[0].id 
data[1].id 

TRY это поможет вам

Смежные вопросы