2 myq 26 myq_26 于 2013.09.05 17:03 提问

从json对象中获得正确的输出值

代码如下:

JSONObject jChild=new JSONObject();
         JSONObject jParent=new JSONObject();
            for (Product p : boxAdapter.getBox()) {
              if (p.checked){
                try {
                    jChild.put("uid", p.uid);
                list.add(String.valueOf(jChild));

                    //list.add(String.valueOf(jParent));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
              }
            }
            jParent.put("users", list);

          // Toast.makeText(this, ""+jParent, Toast.LENGTH_LONG).show();
            Log.v("TakeAttendance","JSONpARENT "+String.valueOf(jParent));

输出:

{"users":"[{\"uid\":\"4\"}, {\"uid\":\"5\"}, {\"uid\":\"6\"}]"}

我所需要的是:

{users: [
    {
    name: "acx",
    uid: "2"
    },

    {
    name: "test",
    uid: "6"
    },

    {
    name: "ccc",
    uid: "11"
    }
    ]
    }

2个回答

longhai326
longhai326   2013.09.05 18:05
已采纳

private void jsonTest() {
try {
JSONObject json = new JSONObject();
JSONArray jsonArr = new JSONArray();
for (int i = 0; i < 3; i++) {
JSONObject arrObj = new JSONObject();
arrObj.put("name", "test");
arrObj.put("uid", i);
jsonArr.put(arrObj);
}
json.put("users", jsonArr);

        Log.e("LH", "json==" + json);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
cj6585256
cj6585256   2013.09.05 22:24

只需要把上面那哥们的
Log.e("LH", "json==" + json);改成 Log.e("LH", "json==" + json.toString());

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!