2011-02-25 69 views
1

對不起,如果這是一個新手的問​​題,但我得到混淆關於如何閱讀這個JSON字符串:如何閱讀這個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); 
}); 

回答

2

response不是一個HTML字符串或DOM元素。你不能以這種方式將它傳遞給jQuery。

使用jQuery.each遍歷它:

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

你不能用v字符串連接在一起,爲v又是一個數組。您必須循環訪問您想要打印的特定信息,例如v[i].status

+0

感謝您的解決方案,它的工作原理。我還有一個問題。 v是一個對象。我使用v [0] .status來訪問它,因爲v中有很多對象。我應該再次使用它們嗎?如果我再次使用jQuery.each,是否會出現任何問題,因爲它是循環內循環 – Permana 2011-02-25 09:19:42

+0

@Permana:哦,你是對的,我錯過了它是一個數組(更新我的文章)。不,你可以再次使用它。你也可以使用正常的循環,這取決於你。 – 2011-02-25 09:26:26

+0

非常感謝您的幫助。我將再次使用jQuery.each。我問,如果我使用內循環循環會導致錯誤,因爲之前我在循環內部執行Ajax請求時出錯。再次感謝。 – Permana 2011-02-25 09:31:15