如果data
有效负载包含数组,如何获取每个项目?如果它不是数组,我可以通过override fun onMessageReceived(remoteMessage: RemoteMessage?)
检索remoteMessage.data.get("item")
中的值,但在items
上执行相同操作会返回原始JSON字符串。
{
"to": "/topics/stack",
"data": {
"items": [
{
"key": "key1",
"title": "Hello world"
},
{
"key": "key2",
"title": "Hello world 2"
}
]
}
}
答案 0 :(得分:0)
class ItemsModel{
private String key;
private String title;
//getters///
//setters///
}
String dataMessagePayLoad = remoteMessage.getData();
if(dataMessagePayLoad!=null){
private Gson gson = new Gson();
List<ItemsModel> response = gson.fromJson(dataMessagePayLoad , new TypeToken<List<ItemsModel>>() {
}.getType());
}
尝试使用这个,我使用Gson库将json转换为列表
答案 1 :(得分:0)
您必须将字符串转换为JSON
String itmes=remoteMessage.data.get("data");
JSONObject jsonObject = new JSONObject(items);
JSONArray itemsArray=jsonObject.optJSONArray("items");
您可以在itemsArray
中添加数组项。