JSON有效负载构建Android

时间:2011-12-15 16:38:03

标签: java android json

我想构建一个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"}}

它的重写,但

如何以正确的方式

由于

2 个答案:

答案 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();
        }
相关问题