Java 将交错数组传递给JSONoBJECT和StringEntity
我正在调用一个Web服务,它将向我的一个客户机数据库发送帖子。该方法需要一个sessoonid和一个锯齿状数组。它还返回一个锯齿状数组。我在将锯齿状数组传递给JSONString和StringEntity时遇到问题。下面是我在doinbackground中的简单代码:Java 将交错数组传递给JSONoBJECT和StringEntity,java,android,jagged-arrays,Java,Android,Jagged Arrays,我正在调用一个Web服务,它将向我的一个客户机数据库发送帖子。该方法需要一个sessoonid和一个锯齿状数组。它还返回一个锯齿状数组。我在将锯齿状数组传递给JSONString和StringEntity时遇到问题。下面是我在doinbackground中的简单代码: if(sessionId != "") { URL = "http://10.0.2.2:88/Student/Grade"; req
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)
//将以下参数转换为字符串也无济于事。
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时,它失败了,消息字符串格式不正确。
.key("JaggedArrayParameters").value(parameters)
.endObject();
resultFromPost= new String(buffer1);
}
任何帮助或建议都将不胜感激。必须使用JSONArray而不是
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"});
在此上下文中定义锯齿数组,例如它需要学生[1][0]=“StudentID”和学生[1][1]=“543”。这里有一个更好的示例[[“student”][“123”]、[“LastName”][“Smith”]、[“StudentGrade”][“a”]。您的示例不是有效的json。[[“Student”]、[“123”]、[“LastName”]、…可能是,或者[[“Student”]、[“123”]、[[“LastName”],…这可能是由于我有限的编程经验,但我不确定如何传递参数StringEntity(parameters)parameters=new ArrayList();parameters.add(新字符串[]{“StudentID”,“SSN”});parameters.add(新字符串[]{“StudentLastName”,“LastName”});parameters.add(新字符串[]{“StudentGrade”,“Grade”});
JSONArray jArray= new JSONArray();
jArray.put(0, "example");
jArray.put(1, "Text");