我对此非常陌生,我试图通过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
}
]
答案 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();
}
});
}