2013-04-04 2 views
0

Я хочу получить самое внутреннее значение в json-массиве. Эти данные json я получаю с помощью вызова ajax.доступ к внутреннему элементу из объекта json

Ниже мои данные JSON получить от сервера:

{ 
"meta": { 
    "limit": 20, 
    "next": null, 
    "offset": 0, 
    "previous": null, 
    "total_count": 7 
}, 
"objects": [ 
    { 
     "id": 2, 
     "other": "{}", 
     "name": "gmail" 
    }, 
    { 
     "id": 3, 
     "other": "{'userinfo': [{ 'user1': { 'user_name':'nancy','address': [], 'outfields': ['login', 'url','type','id']}},{ 'createissue': { 'type':'post','infields': ['owner','repo','title','body'], 'outfields': []}}", 
     "name": "yahoo" 
    } 
] 

}

Теперь здесь я хочу значение user_name с помощью JQuery. как его получить? пожалуйста, помогите кому-нибудь меня.

я пытался так: -

user=rows.objects[i].other.userinfo[0]; 

, но его не работает

ответ

2

Проблема заключается в том, что rows.objects[i].other не разбирается, он по-прежнему в формате JSON.

Вы должны сделать

var obj = JSON.parse(rows.objects[i].other); 
var info = obj.userinfo ? obj.userinfo[0] : undefined; 

Но если ты один генерации JSON, вы можете исправить поколения: вы не должны вставлять JSON в формате JSON.

EDIT: rows.objects[i].other is't even valid JSON: он неполный и имеет ' вместо ".

+0

Да, но это значение не является объектом, а строкой JSON. Вот почему вам нужно снова разобрать. –

+0

@dystry Хорошо, но он дает ошибку: - «Uncaught TypeError: Невозможно прочитать свойство« 0 »неопределенного», когда я пытаюсь распечатать значение информации на консоли. – Snehal

+0

На самом деле, есть еще одна проблема, которую я вижу сейчас: ваш внутренний «JSON» на самом деле недействителен. Откуда у вас этот странный «JSON»? –

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