[英]json returning string instead of object
我有
$age = implode(',', $wage); // which is object return: [1,4],[7,11],[15,11]
$ww = json_encode($age);
然后我在這里檢索
var age = JSON.parse(<?php echo json_encode($ww); ?>);
所以如果我做
alert(typeof(<?php echo $age; ?>)) // object
alert(typeof(age)) //string
在我的情況下,JSON.parse重新調整為字符串。
我怎樣才能讓json返回為對象?
編輯:
var age = JSON.parse(<?php echo $ww; ?>); // didnt work , its something syntax error
implode
返回一個字符串,因此json_encode
編碼是很自然的。 它無法識別已經作為字符串傳遞的類似於JSON的數據。
如果要獲取對象,則必須將關聯數組傳遞給json_encode
:
$foo = array(
1 => 4,
7 => 11,
15 => 11
);
echo json_encode($foo); // {1:4,7:11,15:11}
在$wage
崩潰之前,關於$wage
信息很少,因此很難確切地說出您想要得到什么。 該結構( [1,4],[7,11],[15,11]
)如何成為對象? 每個元組的第一個元素是鍵嗎? 這就是我在示例中所假設的,但是可能不正確。
一種。 您會收到語法錯誤,因為您需要將字符串用引號引起來,如下所示:
var age = JSON.parse("<?php echo $ww; ?>");
灣 而且,您不需要 JSON.parse
。 您可以在服務器端對php var進行json_encoded后,直接對其進行回顯:
var age = <?php echo $ww; ?>;
JSON.parse可以將JavaScript字符串轉換為對象。 對於PHP字符串,一旦將其構建為JSON,則在正確的位置回顯等同於自己進行編碼。
var age = [<?php echo $age; ?>];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.