2016-02-24 4 views
1

Я пытаюсь получить ключ и значение из данных JSON.Получить ключ и значение от JSON

$.get(url, function (data) { 
    console.log(data); 
    if (data.Body != null) { 
     console.log(data.Body); 
    } 
}); 

Это мои журналы:

{ 
    $id: "1", 
    Exceptions: null, 
    ContentType: null, 
    Body: '{text: "Hello World!"}',  
    Version: 0 
} 

'{text: "Hello World!"}' 

Теперь я хочу, чтобы получить ключ и значение из второго (data.Body) и после того, как Append к DIV, но я не удается получить те. Я пробовал Object.Keys, но не работает. Пожалуйста, помогите мне с ответом. Спасибо!

+5

Вам нужно будет проанализировать строку, содержащуюся в свойстве 'Body'. Вы не можете разобрать его как JSON (прежде чем кто-либо подскажет это), поскольку он не в правильном формате. 2 варианта, 1. Измените формат строки в 'Body', чтобы быть допустимым JSON. 2. Верните значение Body в качестве дочернего объекта, без необходимости повторять парсинг JSON. Последнее предпочтительнее, ИМО. –

+0

Итак, формат должен быть «text»: «Привет, мир!». ? – RobertRPM

+1

Правильно, например. 'Body: '{" text ":" Hello World! "}',' –

ответ

1

Попробуйте, как показано ниже

if (data.Body != null) { 

    $.each(data.Body, function(key, value) { 
     console.log(key + ": " + value); 
    }); 
}else{ 
     console.log('data field emplty'); 
} 

это поможет U .. как у любят показывать вывод

+0

'if (data.Body! = Null) { console.log (data.Body); var obj = $ .parseJSON (data.Body); $ .each (obj, function (key, value) { console.log (ключ + ":" + значение); }); } ' Я сделал что-то вроде этого, и он работает. Благодаря ! – RobertRPM

+0

да .. это один тоже правильный .. его up2u как у использовать это jquery api –

+0

его средства ур данные не в json, вот почему вам нужно использовать функции $ .parseJSONE –

0

Привет, ваше свойство body содержит строковое значение, необходимое для его преобразования в JSON.

попробовать следующий код

var obj = jQuery.parseJSON(data.Body); 
alert(obj.text); 
0

Я сделал это ранее приложение:

function (data) { 
      $.each(data, function (i, state) { 
       $("#BoardIDFK").append('<option value="' 
        + state.Value + '">' 
        + state.Text + '</option>'); 
      }); 
     }, 
Смежные вопросы