dongtanlin0765 2017-07-19 11:41
浏览 36

Android Volley如何发布自定义对象数组

I'm new to volley and i need to post an array of custom object to PHP api in order to save it in MYSQL database how can i accomplish this ?

Note : I know that my below code will pass only the last object of my array only

Here is my object :

public class object {

String name;
Integer qty;
Integer price;
}

and my code :

final ArrayList<object> myarray = new ArrayList<>();
        myarray.add(ob1);
        myarray.add(ob2);
        RequestQueue queue = Volley.newRequestQueue(this);
        JSONObject jsonArray = new JSONObject();
        try {
            int i = 0;
            for (object obj : myarray) {

                jsonArray.put("id",i++);
                jsonArray.put("name",obj.name);
                jsonArray.put("qty",obj.qty);
                jsonArray.put("price",obj.price);
            }
            Log.i("JSON ARRAY ", jsonArray.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, API_URL, jsonArray, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Log.i("RESPONSE",response.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                HashMap<String, String> params = new HashMap<>();
                return params;
            }
        }; queue.add(request);
    }
  • 写回答

1条回答 默认 最新

  • dongwang788787 2017-07-19 12:58
    关注

    Need to add your JSONObject to JSONArray for every loop like,

    JSONArray jsonArray = new JSONArray();
    
    int i = 0;
      for (object obj : myarray) {
         JSONObject jsonObj= new JSONObject();
         jsonObj.put("id", i++);
         jsonObj.put("name", nameStr);
         jsonObj.put("qty", qtyStr);
         jsonObj.put("price", priceStr);
    
         jsonArray.put(jsonObj);
    
    }
    
    Log.i("JSON ARRAY ", jsonArray.toString());
    

    this may helps you.

    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值