Estou tentando criar um objeto JSON de uma matriz PHP. A matriz é semelhante a esta:
$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);
O código para codificar o JSON é assim:
$post_data = json_encode($post_data);
O arquivo JSON deve ter a seguinte aparência no 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
}
}
Como posso encapsular o código JSON criado no "item": {JSON CODE HERE}.
JSON_FORCE_OBJECT
emjson_encode($arr, JSON_FORCE_OBJECT)
json_(en|de)code
para versões anteriores do PHP$post_data
. Isso os tornaria objetos também, correto?Embora as outras respostas postadas aqui funcionem, acho a seguinte abordagem mais natural:
fonte
Você só precisa de outra camada em seu array php:
fonte
fonte
Você poderia codificar json um objeto genérico.
fonte