Я пытаюсь создать объект JSON из массива PHP. Массив выглядит так:
$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);
Код для кодирования JSON выглядит так:
$post_data = json_encode($post_data);
В итоге файл JSON должен выглядеть так:
{
"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
}
}
Как я могу инкапсулировать созданный код JSON в «элемент»: {КОД JSON ЗДЕСЬ}.
JSON_FORCE_OBJECT
вjson_encode($arr, JSON_FORCE_OBJECT)
json_(en|de)code
для более ранних версий PHP$post_data
. Это сделало бы их тоже объектами, верно?Хотя другие ответы, размещенные здесь, работают, я считаю более естественным следующий подход:
источник
Вам просто нужен еще один слой в вашем массиве php:
источник
источник
Вы можете json закодировать общий объект.
источник