2012-06-22 52 views
2

我有一個JSON字符串,我想將它作爲一個值包含在我從數組創建的更大的JSON對象中。我如何創建更大的JSON對象,而不需要PHP轉義字符串,而不必解碼以前編碼的字符串?將JSON數據編碼到另一個JSON對象中

例如,如果我的JSON字符串是:

$encoded_already = '{"encoded_key": "encoded_value"}'; 

,我想包括在我的陣列和json_encode()是:

$new_array = array(
    "some_other_key" => $some_value, 
    "premade_data" => $encoded_already 
); 
$output = json_encode($new_array); 

,但我希望有$encoded_already字符串被包含爲實際的JSON,而不僅僅是一個轉義字符串。

回答

2

這是一個想法:將一個標記作爲屬性值,然後使用str_replace就可以了。

只有在您的JSON中沒有任何地方出現$token時纔有效。

$token = '%%%'; 
$output = str_replace('"' . $token . '"', $encoded_already, json_encode(array(
    "some_other_key" => $some_value, 
    "premade_data" => $token 
)); 
+1

+1擊敗了我。 – iambriansreed

+0

upvote for great mind that think like :) – buley

+2

增加了'$ new_array ='。 :)你可能想用'uniqid()'替換''%%%''。 – iambriansreed

相關問題