【问题标题】:Sending Json objects within array to server将数组中的 Json 对象发送到服务器
【发布时间】:2016-12-15 04:23:10
【问题描述】:

我对此很陌生,我正在尝试通过 volley 在数组中发送动态对象。您可以在 http://www.jsoneditoronline.org/ 上查看此内容。 我在编码上摸索了,所以任何帮助都将不胜感激。 下面是我的代码的 sn-p,其中对象是动态的,我将从微调器中选择并将它们发送到服务器

[
   {
      "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
   }
]

【问题讨论】:

    标签: android json android-studio


    【解决方案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();
        }
    

    【讨论】:

      【解决方案2】:

      你的模型类。

      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();
              }
          });
      
      }
      

      【讨论】:

        猜你喜欢
        • 2014-11-25
        • 2019-08-24
        • 2018-09-24
        • 2011-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-09
        相关资源
        最近更新 更多