pgtips
pgtips

Reputation: 1348

Can I insert PHP variables into a JSON string?

I am using a REST API to POST attributes to a person using json. My request body looks like this:

$requestBody = '

{
    "attribute": {
        "@id": "",
        "@uri": "",
        "person": {
            "@id": "222",
            "@uri": "https://api_name_removed.com/v1/People/222"
        },
        "attributeGroup": {
            "@id": "",
            "@uri": "",
            "name": null,
            "attribute": {
                "@id": "2404",
                "@uri": "",
                "name": null
            }
        },
        "lastUpdatedDate": null
    }
}';

How do I change the person id, person uri and attribute id to be variables I have already stored?

Upvotes: 2

Views: 6773

Answers (2)

devzorg
devzorg

Reputation: 105

$requestBody = sprintf('
{
    "attribute": {
        "@id": "%u",
        "@uri": "%s",
        "person": {
            "@id": "222",
            "@uri": "https://api_name_removed.com/v1/People/222"
        },
        "attributeGroup": {
            "@id": "",
            "@uri": "",
            "name": null,
            "attribute": {
                "@id": "2404",
                "@uri": "",
                "name": null
            }
        },
        "lastUpdatedDate": null
    }
}', $id, $uri);

Upvotes: 0

Devin Ceartas
Devin Ceartas

Reputation: 4829

$requestBody = '

{
    "attribute": {
        "@id": "' . $id . '",
        "@uri": "' . $uri . '",
        "person": {
            "@id": "222",
            "@uri": "https://api_name_removed.com/v1/People/222"
        },
        "attributeGroup": {
            "@id": "",
            "@uri": "",
            "name": null,
            "attribute": {
                "@id": "2404",
                "@uri": "",
                "name": null
            }
        },
        "lastUpdatedDate": null
    }
}';

Upvotes: 6

Related Questions