我在我的应用中使用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
答案 0 :(得分: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");
}