无法解析Titanium中的推送有效载荷消息

时间:2018-06-20 11:47:58

标签: android parsing push-notification titanium payload

在我的应用中,我无法解析来自推送通知的“有效载荷”对象。从服务器发送推送后,有效负载中的每个属性中都会自动添加“ /”。如何解析有效负载属性/对象并在代码中获取通知数据?

这里是有效载荷对象:

"payload":"{\"android\":{\"badge\":\"2\",\"alert\":\"Microfinaa_new_ne\",\"sound\":\"door_bell\",\"icon\":\"little_star\",\"vibrate\":true,\"title\":\"Mahboob Zaman\"}}"

这是来自fcm服务器的完整通知消息:

{"type":"callback","source":{"showTrayNotification":true,"pushType":"gcm","enabled":false,"showTrayNotificationsWhenFocused":false,"singleCallback":false,"focusAppOnPush":false,"showAppOnTrayClick":true,"debug":false,"apiName":"Ti.Module","bubbleParent":true,"invocationAPIs":[],"__propertiesDefined__":true,"_events":{"callback":{}}},"payload":"{\"android\":{\"badge\":\"2\",\"alert\":\"Microfinaa_new_ne\",\"sound\":\"door_bell\",\"icon\":\"little_star\",\"vibrate\":true,\"title\":\"Mahboob Zaman\"}}","bubbles":false,"cancelBubble":false}

这是我的代码-

CloudPush.addEventListener('callback', function(evt) {

    var json = JSON.stringify(evt.payload);

    Ti.API.info("datos = " + json.android);// This line shows undefined

});

1 个答案:

答案 0 :(得分:2)

有效负载已经是字符串,您需要对其进行解析并使用反函数

var json = JSON.stringify(evt.payload);

JSON.stringify(Object)->返回字符串 JSON.parse(StringOject)->返回对象