Json框架错误

时间:2016-03-18 09:48:16

标签: android json

在制作json请求时,我必须按照以下方式构建json:

{
  "method": "version",
  "data": {
    "username": "korea",
    "order_point_of_contact": {
      "shipment_version": "1",
      "testimonial_version": "3",
      "point_of_contact_version": "2"
    }
  }
}

我使用以下代码构建它:

JSONObject data = new JSONObject();
JSONObject pointofContact = new JSONObject();
JSONObject jsonObject = new JSONObject();

try {
     data.put("username", "korea");
     jsonObject.put("method", "version");
     jsonObject.put("data", data);
     jsonObject.put("order_point_of_contact", pointofContact);
     jsonObject.put("shipment_version", "1");
     jsonObject.put("testimonial_version", "3");
     jsonObject.put("point_of_contact_version", "2");

} catch (JSONException e) {
     e.printStackTrace();
}     

但问题是它没有构建所需的json。我提交的错误是什么?

3 个答案:

答案 0 :(得分:1)

您走在正确的轨道上,但看起来您正在将( SELECT * FROM [Promotion] WHERE datecol between [Date Debut Promo] and [Date Fin Promo] AND t1.[Code Article] = [Code Article] ) shipment_versiontestimonial_version的值放在错误的JSONObject上。

根据上面发布的所需JSON判断,应将其添加到point_of_contact_version

您的代码应该是这样的:

pointofContact

然后应该正确嵌套JSON。

答案 1 :(得分:1)

尝试下面给出的代码:

JSONObject data = new JSONObject();
JSONObject pointofContact = new JSONObject();
JSONObject jsonObject = new JSONObject();

            try {
                pointofContact .put("shipment_version", "1");
                pointofContact .put("testimonial_version", "3");
                pointofContact .put("point_of_contact_version", "2");
                data.put("username", "korea");
                data .put("order_point_of_contact", pointofContact);
                jsonObject.put("method", "version");
                jsonObject.put("data", data);



            } catch (JSONException e) {
                e.printStackTrace();
            }

答案 2 :(得分:1)

你的json创作应该是这样的

{{1}}