2013-04-30 22 views
0

我打電話給一個web服務,它會對我的一個客戶數據庫做一個帖子。該方法期望sessoionId和鋸齒陣列。它也返回一個鋸齒狀的數組。我有問題將鋸齒陣列傳遞給JSONStringer和StringEntity。下面是doinbackground裏面的我的一個簡單的代碼:將鋸齒數組傳遞給JSONoBJECT和StringEntity

if(sessionId != "") 
      { 
        URL = "http://10.0.2.2:88/Student/Grade"; 
        requestPost = new HttpPost(URL); 
        requestPost.setHeader("Accept", "application/json"); 
        requestPost.setHeader("Content-type", "application/json"); 

        List<String[]> parameters = new ArrayList<String[]>(); 
        parameters.add(new String[] {"StudentID","SSN"}); 
        parameters.add(new String[] {"StudentLastName", "LastName"}); 
        parameters.add(new String[] {"StudentGrade","Grade"}); 

        JSONStringer VistAConnect = new JSONStringer() 
        .object() 
        .key("sessionId").value(sessionId) 

//我不知道如何在這裏格式化jaggedArray。

    .key("JaggedArrayParameters").value(parameters) 
        .endObject(); 

//下面的參數轉換爲字符串也沒有幫助。

     StringEntity entity = new StringEntity(VistAConnect.toString()); 
         requestPost.setEntity(entity); 
         httpClient = new DefaultHttpClient(); 
         HttpResponse response1 = httpClient.execute(requestPost); 
         HttpEntity responseEntity1 = response1.getEntity(); 

         char[] buffer1 = new char[(int)responseEntity1.getContentLength()]; 
         InputStream stream1 =responseEntity1.getContent(); 
         InputStreamReader reader1 = new InputStreamReader(stream1); 
         reader1.read(buffer1); 
         stream1.close(); 

//當我看resultFromPost,它與消息字符串沒有正確格式化失敗。

     resultFromPost= new String(buffer1); 

      } 

任何幫助或建議將不勝感激。

+0

限定在該上下文中交錯數組,與實施例 – njzk2 2013-04-30 12:37:22

+0

它期待學生[1] [0] = 「StudentID」和學生[1] [1] =「543」 – 2013-04-30 12:54:58

+0

下面是一個更好的例子[[「學生」] [「123」],[「姓氏」] [「史密斯」],[「StudentGrade」] [ 「一個」]]。 – 2013-04-30 13:36:19

回答

0

的參數必須使用代替

List<String> or String[][] = {new [] String{"example","text"} 
}; 
List<String[]> parameters = new ArrayList<String[]>(); 
parameters.add(new String[] {"StudentID","SSN"}); 
parameters.add(new String[] {"StudentLastName", "LastName"}); 
parameters.add(new String[] {"StudentGrade","Grade"}); 

JSONArray而是使用此來構建:

JSONArray jArray= new JSONArray(); 
jArray.put(0, "example"); 
jArray.put(1, "Text");