无法显示代码名为1的webservices调用的响应
问题描述:
我从我的webservices {root:[{name:abc, surname:xyz}]}
得到这个JSON响应,我试图仅使用标签显示响应中的Key:Value。无法显示代码名为1的webservices调用的响应
我使用的附加组件的方法
hi.addComponent(new Label(""+ response.get("/result[0]/ocassion")));
但它显示我空值。我已经关注了codenameone网站上提供的Web服务的视频。
我应该如何获得所需的响应才能在UI上显示。 下面是代号一个MyApplication.java
代码:
InputStreamReader reader = new InputStreamReader(input);
JSONParser parser = new JSONParser();
response = parser.parse(reader);
System.out.println(""+ response);
hi.addComponent(new Label(""+ response.get("/result[0]/ocassion")));
hi.getComponentForm().revalidate();
答
变化parse.parse
到parse.parseJSON
。你必须知道检索值的关键,你可以循环你的回应如下:
InputStreamReader reader = new InputStreamReader(input);
JSONParser parser = new JSONParser();
response = parser.parseJSON(reader);
List listResponses = (List) response.get("root");
if (listResponse != null) {
for (Object listResponse : listResponses) {
Map tempHash = (Map) listResponse;
hi.addComponent(new Label("Name: " + tempHash.get("name").toString()));
hi.addComponent(new Label("Surname: " + tempHash.get("surname").toString()));
System.out.println(tempHash.get("name").toString()); //Print abc
System.out.println(tempHash.get("surname").toString()); //Print xyz
}
hi.getComponentForm().revalidate();
} else {
System.out.println("null value returned"); //Make sure you reference root and be sure it returns proper json
}
嗨。感谢那段代码。它按我想要的方式工作。但现在我正在对标签进行一些更改,并希望使用多个按钮,以便按下按钮时将显示名称和姓氏。你能告诉我怎么做。 –