Получите данные о приходе json из Google Cloud Messaging

Я пытаюсь получить некоторую информацию из своих входящих сообщений из Google Cloud Message (GCM). Сообщение выглядит так:

{
    "category":"com.myappplication",
    "data": {
        "my_message":"this data i need",
        "my_action":"com.google.android.gcm.demo.app.ECHO_NOW"
        },
    "time_to_live"86400,
    "message_id":"5",
    "from":"ADJEKRJEKRJEKJREKRJLSDLKSJDLKJ23DSD22232320DSLKJ23"
}

Я могу только получить данные из "from","message_id" и "time_to_live".

В моем скрипте Php я декодирую входящее сообщение json

    $gcm_in = json_decode(str_replace(""", "\"", $stanza_in->childrens[0]->text));

    $from = $gcm_in->from;

Как получить информацию о my_message?

1 ответ

Решение

Учитывая, что указанные вами данные json хранятся в переменной $data.

$objData = json_decode($data);
echo $objData->data->my_message;

json_decode Функция конвертирует данные из формата JSON в объект php.

Хотя я не уверен, почему попытался заменить " в вашем коде и изначально в какой переменной вы получаете данные.

Другие вопросы по тегам