Estoy tratando de crear un objeto JSON a partir de una matriz PHP. La matriz se ve así:
$post_data = array('item_type_id' => $item_type,
'string_key' => $string_key,
'string_value' => $string_value,
'string_extra' => $string_extra,
'is_public' => $public,
'is_public_for_contacts' => $public_contacts);
El código para codificar el JSON se ve así:
$post_data = json_encode($post_data);
Se supone que el archivo JSON se verá así al final:
{
"item": {
"is_public_for_contacts": false,
"string_extra": "100000583627394",
"string_value": "value",
"string_key": "key",
"is_public": true,
"item_type_id": 4,
"numeric_extra": 0
}
}
¿Cómo puedo encapsular el código JSON creado en el "elemento": {CÓDIGO JSON AQUÍ}?
JSON_FORCE_OBJECT
dejson_encode($arr, JSON_FORCE_OBJECT)
json_(en|de)code
para versiones anteriores de PHP$post_data
? Esto también los convertiría en objetos, ¿correcto?Aunque las otras respuestas publicadas aquí funcionan, encuentro el siguiente enfoque más natural:
fuente
Solo necesita otra capa en su matriz php:
fuente
fuente
Puede codificar json un objeto genérico.
fuente