解析包数据

Parse Bundle data

我在我的应用程序中使用 GCM,我正在从服务器向客户端发送一些数据。数据是这样的:

{ registration_id: '',
  time_to_live: 60,
  'data.type': 'newProcess',
  'data.sessionId': 'fd1eceb1-e065-4d9e-9bda-50aecaf89b68',
  'data.questions': 
   [ { question: 'q', answers: ['a', 'b', 'c'], correctAnswer: 1 },
     { question: 'k', answers: ['a', 'b', 'c'], correctAnswer: 1 } ],
  'data.users': []
}

我正在我的 GcmListener 中获取此数据:

@Override
public void onMessageReceived(String from, Bundle data) {
    //parse the data that come from server
}

如何将此数据解析为对象?我找不到那么多信息,我搜索了好几个小时。

谢谢。


已解决。这篇文章有帮助,我在服务器中使用了JSON.stringfiy。

http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

这是一个使用 JSONObject 的基本示例:

@Override
public void onMessageReceived(String from, Bundle data) {

    String myJSONString = data.getString("myJSON");

    JSONObject myJson = new JSONObject(myJSONString);

    int registration_id = myJson.optInt("registration_id ");
    String time_to_live = myJson.optString("time_to_live");
}