2

我有一个 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 包含在内,而不仅仅是转义字符串。

4

1 回答 1

2

这是一个想法:放置一个标记作为属性值,然后str_replace在它上面使用。

仅当$token您的 JSON 中没有出现任何地方时才有效。

$token = '%%%';
$output = str_replace( '"' . $token . '"', $encoded_already, json_encode( array(
    "some_other_key" => $some_value,
    "premade_data" => $token
) );
于 2012-06-22T02:58:37.303 回答