将JSON数据编码到另一个JSON对象中

时间:2012-06-22 02:53:27

标签: php json

我有一个JSON字符串,我希望将其作为一个值包含在我从数组创建的更大的JSON对象中。如何在没有php转义字符串的情况下创建更大的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包含在内,而不仅仅是转义字符串。

1 个答案:

答案 0 :(得分:2)

这是一个想法:将一个标记作为属性值,然后在其上使用str_replace

仅当{J}中没有$token出现时才有效。

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