我想构建一个JSON有效负载:
{
"aps": {
"badge": 15,
"alert": "Hello from Urban Airship!",
"sound": "cat.caf"
}
}
我尝试过这件事:
JSONObject json = new JSONObject();
JSONObject badge=new JSONObject();
JSONObject alert=new JSONObject();
JSONObject sound=new JSONObject();
badge.put("badge",15);
json.put("aps",badge);
sound.put("sound",getResources().openRawResource(R.raw.cat));
json.put("aps",alert);
alert.put("alert", "Hello from Uday!");
json.put("aps",sound);
但完整的有效负载正在获取:当我打印
时像这样得到一半的有效载荷:
{"aps":{"sound":"cat.caf"}}
它的重写,但
如何以正确的方式
由于
答案 0 :(得分:1)
openRawResource()
会返回InputStream
..您可能想尝试使用InputStreamReader
阅读它?
答案 1 :(得分:1)
我不确定你在寻找什么,但考虑到你想创建一个JSON字符串。
try {
JSONObject json = new JSONObject();
JSONObject aps = new JSONObject();
aps.put("badge", 15);
aps.put("alert", "Hello from Urban Airship!");
aps.put("sound", "cat.caf");
Log.d("my json string", json.put("aps", aps).toString(1));
} catch (JSONException e) {
e.printStackTrace();
}