Я звоню в веб-службу, которая будет делать сообщение в одной из моих клиентских баз данных. Метод ожидает sessoionId и массив с зазубринами. Он также возвращает зубчатый массив. У меня проблема с передачей массива с jagged в JSONStringer и StringEntity. Ниже приведен простой моего кода внутри doinbackground:Передача Jagged Array в 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);
}
Любая помощь или предложение было бы весьма признателен.
определяют зазубренный массив в этом контексте, с примером – njzk2
Он ожидает студента [1] [0] = «StudentID» и ученик [1] [1] = «543» –
Вот лучший пример [[«Студент»] ["123"], ["LastName"] ["Smith"], ["StudentGrade"] [ "А"]]. –