Maison >développement back-end >tutoriel php >Comment encapsuler un tableau PHP JSON dans un objet parent ?

Comment encapsuler un tableau PHP JSON dans un objet parent ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-03 04:40:13312parcourir

How to Encapsulate a PHP JSON Array within a Parent Object?

Comment encapsuler du code JSON dans un objet

En PHP, créer un objet JSON à partir d'un tableau peut sembler simple, mais il peut y avoir les moments où vous devez encapsuler cet objet JSON dans une autre structure d’objet. Voyons comment cela peut être réalisé.

Considérez le tableau PHP suivant :

$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
);

Pour encoder ce tableau en JSON, vous pouvez utiliser le code suivant :

$post_data = json_encode($post_data);

Cela produirait du JSON au format suivant :

{
    "item_type_id": 4,
    "string_key": "key",
    "string_value": "value",
    "string_extra": "100000583627394",
    "is_public": true,
    "is_public_for_contacts": false
}

Cependant, vous devrez parfois envelopper ce JSON structure au sein d’un objet « élément » supplémentaire. Le code suivant montre une solution :

$post_data = json_encode(array('item' => $post_data), JSON_FORCE_OBJECT);

En passant la constante JSON_FORCE_OBJECT comme deuxième argument à json_encode(), vous demandez à PHP d'encoder les données en tant qu'objet, qu'il s'agisse ou non d'un tableau. Cela garantit que la structure JSON résultante est enveloppée dans l'objet "item" souhaité :

{
    "item": {
        "item_type_id": 4,
        "string_key": "key",
        "string_value": "value",
        "string_extra": "100000583627394",
        "is_public": true,
        "is_public_for_contacts": false
    }
}

N'oubliez pas que, selon la spécification JSON, les crochets "{}" indiquent un objet, tandis que "[]" représente des tableaux. . En utilisant JSON_FORCE_OBJECT, vous pouvez personnaliser la structure de sortie pour répondre à vos besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn