我有一些相當長的字符串,包含任何我想要從PHP轉換爲JSON的字符串。有沒有簡單的方法來做到這一點?例如,我想這個JSON輸出中的工作:正確地將字符串轉換爲PHP中的JSON數據
<?php
$var = "hel\"lo";
$var2 = "hel\nlo";
echo "[\"".$var."\", \"".$var2."\"]"; // should give me the data: hel"lo and hel<new line>lo
?>
我有一些相當長的字符串,包含任何我想要從PHP轉換爲JSON的字符串。有沒有簡單的方法來做到這一點?例如,我想這個JSON輸出中的工作:正確地將字符串轉換爲PHP中的JSON數據
<?php
$var = "hel\"lo";
$var2 = "hel\nlo";
echo "[\"".$var."\", \"".$var2."\"]"; // should give me the data: hel"lo and hel<new line>lo
?>
構建PHP數據結構,然後通過json_encode運行它。不要嘗試通過將字符串混合在一起來構建JSON。
$foo = array($var, $var2);
echo json_encode($foo);
@Salman A - 不正確。它輸出一個字符串。由於JSON中的頂級數據類型必須是數組或對象,因此應該拋出異常而不是輸出任何內容。不過,這個問題與數組有關。 – Quentin
你可以使用json_encode(編輯 - 我改變了數組,這樣編碼時被要求輸出什麼)
var $json = array('hello','hello');
echo (json_encode($json));
的外觀here參考。
編輯 - 要使用json_encode,您必須擁有php vesion> 5.20。如果您需要替代方案,則可以使用zend_framework組件Zend_JSON
目標是一個數組,而不是一個對象,''=>'應該是','。 – Quentin
@Quentin'=>'是數組的語言結構,而不是對象。這可以在左側指定數組鍵,在右側指定數組值。你可以這樣做:'$ value = $ myarray ['hello'];'。然而,無論如何,OP似乎都希望'array('hello','hello')。 –
它是一個關聯數組,作爲鍵 - >值,所以你有一個名爲hello的屬性名爲hello的json對象,值爲hello,但是,這個問題問的是你寫的東西! :) –
json_encode和json_decode應該做的伎倆。
$var = "hel\"lo";
$var2 = "hel\nlo";
echo json_encode(array($var, $var2));
您可以使用此: Json - encode a PHP function
如果答案沒有說清楚就夠了,使用['json_encode()'](http://php.net /manual/en/function.json-encode.php) –
@Wesley爲什麼你覺得需要重新發布所有5個正確答案作爲評論? –
@Matthieu:我沒有看到第六個答案的必要性,所以我只是留下了一條評論來強制其他人。 –