2011-03-09 30 views
5

JSON verisi, parantez içine alınabilir örneğin: [{"cust_id":"109"}]. Neden? mysql_fetch_row ve mysql_fetch_object denedim. Parantezleri çıkarmak için alt diziye ihtiyacım var mı?JSON Verileri Parantez İçinde Neden Var?

Ayrıca, bir JSON nesnesini javaScript'te nasıl görüntüleyebilirim? Firebug'da, JSON verilerini sabit olarak kodlarsam, JSON olarak bir değer görüyorum, ancak alert() bunu göstermez.

Teşekkür ederiz.

$rows = array(); 
    while($r = mysql_fetch_assoc($rs)) { 
    $rows[] = $r; 
    } 
    echo json_encode($rows); 
+1

http://json.org/ –

cevap

5

Bu, tek bir öğeden oluşan bir dizi anlamına gelir.

+3

Birden çok öğeye sahip olsaydı, genişletmek için şöyle bir şey olurdu: "[{" cust_id ":" 109 "}, {" cust_id " : "110"}, {"cust_id": "111"}] –

+1

, http://json.org standartlarına referans vermekte yardımcı olacaktır. –

+0

Bu, parantezleri dizgilemenin benim javaScript'ime geri döndürülmesi için {...} ile sınırlandıracağım anlamına mı geliyor? ve eğer parantez bir nesneyi sınırlarsa json_encode, çıktıları parantez ile sınırlar - ya da bir şeyi özlüyorum mu? – hadenp

4

Köşeli parantez, JavaScript'te bir diziyi gösterir. Eğer yalnızca bir öğe istiyorsanız özel olarak dizinin ilk (ve tek) girdiyi kodlamak zorunda:

$rows = array(); 
while($r = mysql_fetch_assoc($rs)) 
{ 
    $rows[] = $r; 
} 
echo json_encode($rows[0]); 
+0

Teşekkür ederim. Verileri sayfama nasıl yazdırabilirim? – hadenp

+0

Ne yapmak istediğini anlamıyorum. echo json_encode (...) zaten JSON verilerini sayfaya gönderir. – Daff

+0

Ama javaScript, (jQuery) içeren sayfa döndürülen verileri görüntülemek için denediğimde şey ... $ .ajax (görmüyorum { \t \t türü: "POST", \t \t url: "call_ajax_query. php", \t \t veriler: {suite_no: paketi}, \t \t dataType: 'json', \t \t başarı: function (data) { \t \t $ ('# çıkışı') html (veri); . \t \t \t \t \t uyarısı ("Veri:" + veri); \t} \t \t}); – hadenp

İlgili konular