2014-04-27 15 views
3

我想下面的数据发送到服务器使用Jsoup的Android

{"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控制台发送相同的请求,并且它在那里也工作得很好。

下面是我的代码:

 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; 

     } 

我失去的是什么?我猜我发送的数据格式不正确。我是否需要在数据中添加单词反馈?如果服务器需要一个JSON字符串 任何帮助,将不胜感激

回答

0

,试试这个来代替:

// 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(); 
+0

感谢亚历克斯,我已经想通了,但是你的答案是正确的,所以我接受它 –