Как читать этот JSON? - PullRequest
       3

Как читать этот JSON?

1 голос
/ 25 февраля 2011

Извините, если это вопрос новичка, но я не понимаю, как читать эту строку json:

{
    "VF001JV018":[
      {
         "kode_question":"VF001JV018",
         "kode_option":1,
         "kode_option_tipe":"PF006",
         "nama_option":"Pilihan 1",
         "reference_db":null,
         "reference_table":null,
         "reference_field":null,
         "required_value":0,
         "reference_pk":null,
         "status":1
      },
      {
         "kode_question":"VF001JV018",
         "kode_option":4,
         "kode_option_tipe":"PF006",
         "nama_option":"Pilihan 4",
         "reference_db":null,
         "reference_table":null,
         "reference_field":null,
         "required_value":0,
         "reference_pk":null,
         "status":1
      },
      {
         "kode_question":"VF001JV018",
         "kode_option":5,
         "kode_option_tipe":"PF006",
         "nama_option":"Lainnya",
         "reference_db":null,
         "reference_table":null,
         "reference_field":null,
         "required_value":1,
         "reference_pk":null,
         "status":1
      }
   ],
   "VF001JV020":[
      {
         "kode_question":"VF001JV020",
         "kode_option":1,
         "kode_option_tipe":"PF001",
         "nama_option":"Kode Toko",
         "reference_db":"crm",
         "reference_table":"customer",
         "reference_field":"kode_customer",
         "required_value":0,
         "reference_pk":"          ",
         "status":1
      }
   ]
}

Как показать данные в списке? например:

<ul>
<li><strong>VF001JV018</strong></li>
<li>VF001JV018-1</li>
<li>VF001JV018-4</li>
<li>VF001JV018-5</li>
<li><strong>VF001JV020</strong></li>
<li>VF001JV020-1</li>
</ul>

Я использую jquery для каждой функции, чтобы зациклить каждый элемент, но все равно не повезло

$.getJSON('data.json', null, function(response){
    var echo = '<ul>';
    $(response).each(function(k,v){
        echo += '<li><strong>'+k+'</strong> : '+v+'</li>';
    });
    echo += '</ul>';
    $('#here').html(echo);
});

1 Ответ

2 голосов
/ 25 февраля 2011

response не является строкой HTML или элементом DOM. Вы не можете передать его в jQuery таким образом.

Используйте jQuery.each, чтобы зациклить его:

$.each(response, function(k, v) {
    echo += '<li><strong>'+k+'</strong></li>';
});

Вы не можете объединить строку с v, так как v снова массив. Вы должны зациклить его и получить доступ к конкретной информации, которую вы хотите напечатать, например, v[i].status.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...