2 sachinks SachinKS 于 2013.03.28 17:03 提问

在java中使用json遇到的问题

关于在jsonArray数组中的jsonObect 问题,json格式:

{
       "op": "add",
       "array": 
           [
            {
             "field": "fld",
             "value": "20"
            },
            {
             "field": "fldu",
             "value": "z"
            }
           ]
    }

尝试了:

JSONObject jsonObj = new JSONObject();
JSONArray jsonArray = new JSONArray();
jsonObj .put("operation", "add");
jsonObj .put("array",jsonArray.put( jsonObj.put("field", "fld_name")));

但是结果报错。

1个回答

android_ls
android_ls   2013.03.29 12:34
已采纳

你想要生成一个JSON字符串:

{
                               "op": "add",
                               "array": 
                                   [
                                    {
                                     "field": "fld",
                                     "value": "20"
                                    },
                                    {
                                     "field": "fldu",
                                     "value": "z"
                                    }
                                   ]
                            }

这样写就对了:

JSONObject jsonObj = new JSONObject();
                           jsonObj .put("op", "add");

                           JSONArray jsonArray = new JSONArray();
                           JSONObject json1 = new JSONObject();
                           json1.put("field", "fld");
                           json1.put("value", "20");
                           jsonArray.put(json1);

                           JSONObject json2 = new JSONObject();
                           json2.put("field", "fldu");
                           json2.put("value", "z");
                           jsonArray.put(json2);

                           jsonObj .put("array", jsonArray);

还有写代码时,注意点,你看你这行jsonObj .put("operation", "add");明显就有问题,可key应该是op吧,呵呵

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