将数组中的Json对象发送到服务器

时间:2016-08-09 08:10:50

标签: android json android-studio

我对此非常陌生,我试图通过volley在数组中发送动态对象。你可以在http://www.jsoneditoronline.org/上查看。 我在编码上摸索着,所以任何帮助都会受到高度赞赏。 下面是我的代码片段,其中对象是动态的,我将从微调器中选择并将它们发送到服务器

[
   {
      "longDescription":"Carrot Cheese Paratha is perfect to attract kids as it is colorful and yummy...",
      "productName":"CARROT CHEESE PARATHA",
      "name":"Delicious Kids Meal",
      "productId":"Monday",
      "catalogName":"KIDS TIFFIN MENU",
      "categoryName":"Monday",
      "subCategoryName":"Long Break",
      "kidId":47
   },
   {
      "longDescription":"Freshly cooked Desi Ghee Paratha along with Paneer butter masala",
      "productName":"Paratha plus paneer butter masala",
      "name":"Delicious Kids Meal",
      "productId":"Monday",
      "catalogName":"KIDS TIFFIN MENU",
      "categoryName":"Monday",
      "subCategoryName":"Short Break",
      "kidId":47
   },
   {
      "longDescription":"Basmati Rice along with freshly cooked Matar Paneer (cottage Cheese)",
      "productName":"Matar paneer and Basmati Rice",
      "name":"Delicious Kids Meal",
      "productId":"Wednesday",
      "catalogName":"KIDS TIFFIN MENU",
      "categoryName":"Wednesday",
      "subCategoryName":"Short Break",
      "kidId":47
   }
]

2 个答案:

答案 0 :(得分:1)

您可以使用JsonArrayRequest

执行此操作
RequestQueue requestQueue = Volley.newRequestQueue(this);
    final String jsonString = "your json here";
    try {
        JSONArray jsonArray = new JSONArray(jsonString);
        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.POST, url, jsonArray, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                //
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                //
            }
        });
        requestQueue.add(jsonArrayRequest);
    } catch (JSONException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

你的模特课。

public class test {

/**
 * longDescription : Carrot Cheese Paratha is perfect to attract kids as it is colorful and yummy...
 * productName : CARROT CHEESE PARATHA
 * name : Delicious Kids Meal
 * productId : Monday
 * catalogName : KIDS TIFFIN MENU
 * categoryName : Monday
 * subCategoryName : Long Break
 * kidId : 47
 */

private String longDescription;
private String productName;
private String name;
private String productId;
private String catalogName;
private String categoryName;
private String subCategoryName;
private int kidId;

public String getLongDescription() {
    return longDescription;
}

public void setLongDescription(String longDescription) {
    this.longDescription = longDescription;
}

public String getProductName() {
    return productName;
}

public void setProductName(String productName) {
    this.productName = productName;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getProductId() {
    return productId;
}

public void setProductId(String productId) {
    this.productId = productId;
}

public String getCatalogName() {
    return catalogName;
}

public void setCatalogName(String catalogName) {
    this.catalogName = catalogName;
}

public String getCategoryName() {
    return categoryName;
}

public void setCategoryName(String categoryName) {
    this.categoryName = categoryName;
}

public String getSubCategoryName() {
    return subCategoryName;
}

public void setSubCategoryName(String subCategoryName) {
    this.subCategoryName = subCategoryName;
}

public int getKidId() {
    return kidId;
}

public void setKidId(int kidId) {
    this.kidId = kidId;
}

}

我写的VolleyConnection类的VolleyJsonPost方法:

public static void jsonPost(Context context, String url, JSONObject jsonObject, Response.Listener<JSONObject> responceListener, Response.ErrorListener errorListener)
{
    JsonObjectRequest jsonRequest = new JsonObjectRequest(Request.Method.POST,url,jsonObject,responceListener,errorListener);

    Volley.newRequestQueue(context).add(jsonRequest);
}

你用这种方式:

VolleyConnection.jsonPost(context, rootUrl, jsonObject, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {


            try {
                // do stuff
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });

}