从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"
    }
    ]
    }


三国纷争
浏览 665回答 2
2回答

精慕HU

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);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.e("LH",&nbsp;"json=="&nbsp;+&nbsp;json); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(JSONException&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace(); &nbsp;&nbsp;&nbsp;&nbsp;} }

慕妹3242003

只需要把上面那哥们的Log.e("LH", "json==" + json);改成 Log.e("LH", "json==" + json.toString());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java