Java 从包中提取数据

Java 从包中提取数据,java,android,regex,bundle,Java,Android,Regex,Bundle,AWS SNS正在向发送有效负载 @Override public void onMessageReceived(final String from, final Bundle data) { String message = getMessage(data); Log.d(LOG_TAG, "Message: " + message); int timeToLive = data.getInt("time_to_live"); Log.d(LOG_TAG, "

AWS SNS正在向发送有效负载

@Override
public void onMessageReceived(final String from, final Bundle data) {
    String message = getMessage(data);
    Log.d(LOG_TAG, "Message: " + message);

    int timeToLive = data.getInt("time_to_live");
    Log.d(LOG_TAG, "time_to_live: " + timeToLive);

    String text = data.getString("text");
    Log.d(LOG_TAG, "Text: " + text);
信息的形式是

PushListenerService: Message: {
                           "condition": "normal”,
                           "priority" : "normal",
                           "time_to_live" : 0,
                           "notification" : {
                               "body" : “random gibberish”,
                               "title" : "TEST TITLE”,
                               "icon" : “ic_launcher”
                           },
                           "data" : {
                               “GeoHash” : 1,
                               "text" : "TEST TEXT”
                           }
                       }
D/PushListenerService: time_to_live: 0
D/PushListenerService: Text: null
如何从中提取数据?我希望PushListener返回文本:测试文本。我可以查询类似于查询json的包吗?正则表达式

getMessage方法:

public static String getMessage(Bundle data) {
    return data.containsKey("default") ? data.getString("default") : data.getString(
        "message", "");
}

你不能这样做吗:

Bundle payload = data.getBundle("data");
String text = payload.getString("text");

将消息转换为json,然后作为jsonObject检索数据。如果您有疑问,请告诉我,数据是Bundle类型的,不喜欢GetJSONObject。那么是这样吗p这仍然会在有效负载上返回null:/getMessage方法中有什么?在上面编辑了它