我有一个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包含在内,而不仅仅是转义字符串。
答案 0 :(得分:2)
这是一个想法:将一个标记作为属性值,然后在其上使用str_replace
。
仅当{J}中没有$token
出现时才有效。
$token = '%%%';
$output = str_replace( '"' . $token . '"', $encoded_already, json_encode( array(
"some_other_key" => $some_value,
"premade_data" => $token
) );