簡體   English   中英

如何將對象轉換為JSON

[英]how to convert object to JSON

我的jQuery看起來像這樣

var formContent ="action=view&msgid="+id;
$.getJSON("myserv.php",formContent, function(json){
    $.each( json, function(k, v){`
       alert( "Key: " + k + ", Value: " + v );`
    });
});

在我的php文件中,我有一個json編碼的數組

while($message->fetch()) {
    $arr[$i]["read"]=$message->test;
    $arr[$i]["messageid"]=$message2->test2;
    $arr[$i]["subject"]=$message2->test3;
    $arr[$i]["text"]=$message2->test4;
}

$str=json_encode($arr);

return $str;

警報返回Key:0 Value: [Object Object]

知道如何獲得正確的結果嗎? 如何在div或span中很好地顯示結果?

您將所有內容都放在一個單元格陣列中。 然后在回調中,在jQuery中,您嘗試遍歷數組單元格。 我假設您想將$ arr保留為一個數組(猜測您可能有多個“讀取”,“主題”等),因此您應該將js更改為:

var formContent ="action=view&msgid="+id;
$.getJSON("myserv.php",formContent, function(json){
    $.each(json, function(i){
        $.each(json[i], function(k, v) {
            alert( "Key: " + k + ", Value: " + v ); });
        });
    });
});

或者,如果您不想要單個單元格數組,並且僅返回一個“讀”,“主題”等,則將您的PHP更改為:

if($message->fetch()) {
    $arr["read"]=$message->test;
    $arr["messageid"]=$message2->test2;
    $arr["subject"]=$message2->test3;
    $arr["text"]=$message2->test4;
    $str=json_encode($arr);
}
else {
    $str=json_encode(Array('error' => 'No message'));
}


return $str;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM