【问题标题】:How to send JSON Array of objects using Volley in android如何在android中使用Volley发送对象的JSON数组
【发布时间】:2021-01-26 03:38:36
【问题描述】:

我想向我的 php 服务器发送一些批量数据,所以我构建了 JSON 数组。但是如何在 Android 中使用 volley 发送它。有人能帮忙吗。我已经尝试了很多方法,但没有奏效。

下面是我的数据集代码

            JSONArray jsData = new JSONArray();
            JSONObject others = new JSONObject();

                
                while(crsrallansr.isAfterLast() == false) {
                    JSONObject Inner = new JSONObject();
                    try {
                        Inner.put("qid",crsrallansr.getString(crsrallansr.getColumnIndex("qid")));
                        Inner.put("qstn",crsrallansr.getString(crsrallansr.getColumnIndex("qid")));
                        Inner.put("result",crsrallansr.getString(crsrallansr.getColumnIndex("qid")));

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    jsData.put(Inner);
                   
                    crsrallansr.moveToNext();
                    xx++;
                }
                

【问题讨论】:

  • 我想在 volley 中发送 jsData

标签: android arrays json android-volley


【解决方案1】:

使用 StringRequest 解决了这个问题:

reqPostanswers = new StringRequest(Request.Method.POST, url,new Response.Listener<String>() {

            @Override
            public void onResponse(String response) {
                Log.i("posting info :",response.toString());
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                //Log.i("posting error  :",error.toString());
            }
        }){
            @Override
            protected Map<String, String> getParams()
            {
                Map<String, String>  params = new HashMap<String, String>();
                params.put("user", thisuser);
                params.put("answers",jsData.toString());
                params.put("lickey","1761");
                return params;

            }

        };
        answerpostQueue = Volley.newRequestQueue(getApplicationContext());
        answerpostQueue.add(reqPostanswers);

在服务器端(php);代码如下:

        $answers=json_decode($_POST['answers']);
        
        foreach ($answers as $answer) {
            $answer=json_encode($answer);
            echo $answer;
            $answer=json_decode($answer);
            $uname=$_POST['user'];
            $qid=$answer->qid;
            $result=$answer->result;
            $qstn=$answer->qstn;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-05
    • 2019-06-10
    • 2017-09-18
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多