在我的应用中,我无法解析来自推送通知的“有效载荷”对象。从服务器发送推送后,有效负载中的每个属性中都会自动添加“ /”。如何解析有效负载属性/对象并在代码中获取通知数据?
这里是有效载荷对象:
"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
});
答案 0 :(得分:2)
有效负载已经是字符串,您需要对其进行解析并使用反函数
var json = JSON.stringify(evt.payload);
JSON.stringify(Object)->返回字符串 JSON.parse(StringOject)->返回对象