使用Jsoup Android将数据发送到服务器

3
我将尝试发送以下数据到服务器。
{"feedback":{"q1":12.0, "q2":33, "q3":12.0, "q4":78, "q5":12.0, "q6":33, "q7":12.0, "q8":33, "q9":12.0, "q10":33, "latitude":12.0, "longitude":33.08, "imei":128790, "time":"base64string"}}

我无法创建一个合适的jsoup字符串。我能够连接到我的服务器,但是当我尝试使用POST请求发送以下信息时,它会失败。

我尝试通过我的WEB CONSOLE发送相同的请求,那里它也运行良好。

下面是我的代码:

      protected String doInBackground(String... urls) {

                try {
                    // Connect to the web site
                    Document document = Jsoup.connect("http://107.170.91.100/books/save_feedback")
                            .data("q1", q1).data("q2", q2).data("q3", q3).data("q4", q4).data("q5", q5).data("q6", q6).data("q7", q7).data("q8", q8)
                            .data("q9", q9).data("q10", q10)
                            .data("latitude", "234").data("longitude", "344.4").data("imei", ime)
                            .data("time", MainActivity.b64)
                            .post();


                    //String title = document.title();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;

        }

我这里缺少什么?我猜测我发送的数据格式不正确。我需要在数据中添加"反馈"这个词吗? 任何帮助都将不胜感激

1个回答

0
如果服务器期望一个 JSON 字符串,可以尝试使用以下方法:
// Build the JSON string...
String format = "{\"feedback\":{\"q1\":%s, \"q2\":%s, \"q3\":%s, \"q4\":%s, \"q5\":%s, \"q6\":%s, \"q7\":%s, \"q8\":%s, \"q9\":%s, \"q10\":%s, \"latitude\":%s, \"longitude\":%s, \"imei\":%s, \"time\":\"%s\"}}";
String jsonData = String.format( //
           format, //
           q1, q2, q3, q4, q5, //
           q6, q7, q8, q9, q10, //
           "234", "344.4", //
           ime, time //
);

// Now send it...
Document document = Jsoup
                    .connect("http://107.170.91.100/books/save_feedback")
                    .data("JSON", jsonData) // The parameter name may not be JSON, change accordingly
                    .post();

谢谢Alex,我已经弄明白了,但是你的答案是正确的,所以我接受它。 - Hassaan Rabbani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接