Как создать объект JSON в php без имени ключа? - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь создать JSON объект и массив в php. но он создает нежелательные индексы (ключи). Есть ли способ создать объект без имени ключа, например $ temp_obj-> Здесь нет ключа $ all_products_array; ???? Заранее спасибо

Вот как я пытаюсь ...

$combo_info = new stdClass();
$combo_info-> combo_id = $combo_id;
$combo_info-> combo_name = $combo_name;

$temp_obj = new stdClass();
for($i=0; $i<=16; $i++){
    $all_products_array = array();
    $all_products_array = array("product_id" => $product_id,"product_name" => $product_name);
    $temp_obj->all_products_array_inside[$i] = $all_products_array;
}

$myObj = new stdClass();
$myObj->combo_info = $combo_info;
$myObj->all_products_array = $temp_obj;
$myfinalobj-> myfinalobj[$i] = $myObj;
header('Content-Type: application/json');
echo '['. json_encode($myfinalobj, JSON_PRETTY_PRINT) .']';

Это приведет к результату ниже, где индекс / ключ с именами «1» и «all_products_array_inside» нежелательны. Потому что мне нужно go myfinalobl-> all_products_array-> all_products_array_inside [1] .product_id, но я хочу просто, например myfinalobl-> all_products_array [i] .product_id

Есть ли способ создать объект без имени ключа, например $ temp_obj-> Здесь нет ключа $ all_products_array; ????

{
    "myfinalobj": {
        "1": {
            "combo_info": {
                "combo_id": "1",
                "combo_name": "Supper_deal",
            },
            "all_products_array": {
                "all_products_array_inside": {
                    "1": {
                        "product_id": "1",
                        "product_name": "TV"
                    },
                    "2": {
                        "product_id": "2",
                        "product_name": "Laptop"
                    }
                }
            }
        }
    }
}

1 Ответ

0 голосов
/ 30 мая 2020

Вы сами создаете ключ (из $i), так что не делайте этого ...

$myfinalobj->myfinalobj[$i] = $myObj;

Вот [$i] - удалите его:

$myfinalobj->myfinalobj = $myObj;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...