Задать вопрос

Как парсить json через Google Scripts?

Добрый день. Хочу сделать прием сообщений из живосайта в Google Script, живосайт отправляет такой хук:
{
    "event_name": "chat_finished",
    "chat_id": 28806,
    "widget_id": "CzK4ffvCYC",
    "visitor": {
        "number": 804934,
        "chats_count": 2
    },
    "chat": {
        "messages": [
            {
                "timestamp": 1522049284,
                "type": "visitor",
                "message": "<Message text is not displayed here>"
            },
            {
                "timestamp": 1522049312,
                "type": "visitor",
                "message": "<Message text is not displayed here>"
            }
        ],
        "rate": null,
        "invitation": "Здравствуйте! Я могу вам чем-то помочь?"
    },
    "agents": [
        {
            "id": 99652,
            "email": "email@email.com",
            "name": "Ольга"
        }
    ],
    "session": {
        "geoip": {
            "region_code": "48",
            "country_code": "RU",
            "country": "Russian Federation",
            "region": "Moscow City",
            "city": "Moscow",
            "isp": "",
            "latitude": "55.7522",
            "longitude": "37.6156",
            "organization": "Ooo Migraph"
        },
        "utm": "campaign=(organic)|source=Google|medium=search|keyword=null|content=",
        "utm_json": {
            "campaign": "(organic)",
            "source": "Google",
            "medium": "search",
            "keyword": null,
            "content": ""
        },
        "ip_addr": "127.0.0.1",
        "user_agent": "Mozilla\/5.0 (Windows NT 5.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/49.0.2623.112 Safari\/537.36"
    },
    "page": {
        "url": "url",
        "title": "title"
    }
}

В сам Google Scripts прилетает этот post запрос немного другого вида:
{widget_id=CzK4ffvCYC, chat={rate=null, invitation=Здравствуйте! Я могу вам чем-то помочь?, messages=[Ljava.lang.Object;@fd7cb1a}, session={utm_json={campaign=(organic), source=Google, medium=search, keyword=null, content=}, geoip={country_code=RU, country=Russian Federation, city=Moscow, isp=, latitude=55.7522, organization=Ooo Migraph, region=Moscow City, region_code=48, longitude=37.6156}, ip_addr=194.88.205.37, user_agent=Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36, utm=campaign=(organic)|source=Google|medium=search|keyword=null|content=}, event_name=chat_finished, page={title=title, url=url}, visitor={number=804934, chats_count=2}, chat_id=28806, agents=[Ljava.lang.Object;@786127b6}


Проблема в том, что в Google Scripts приходят некорректные массивы:
messages=[Ljava.lang.Object;@fd7cb1a}
agents=[Ljava.lang.Object;@786127b6}
Подскажите пожалуйста, как получить корректный массив messages и agents?
  • Вопрос задан
  • 4540 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
Попробуйте так
var content = JSON.parse(JSON.stringify(e.postData.contents));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы