1

我在我的应用程序中使用 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

4

1 回答 1

4

这是一个使用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");
}
于 2015-06-03T23:13:37.390 回答