无法显示代号为 1 的 Web 服务调用的响应
Unable to display response from the webservices call in codename one
我正在从我的网络服务中收到此 JSON 响应
{root:[{name:abc, surname:xyz}]}
并且我正在尝试使用标签仅显示响应中的 Key:Value。
我正在使用添加组件的方法
hi.addComponent(new Label(""+ response.get("/result[0]/ocassion")));
但它向我显示空值。我关注了 codenameone 网站上有关网络服务的视频。
我应该尝试什么才能在 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
}
我正在从我的网络服务中收到此 JSON 响应
{root:[{name:abc, surname:xyz}]}
并且我正在尝试使用标签仅显示响应中的 Key:Value。
我正在使用添加组件的方法
hi.addComponent(new Label(""+ response.get("/result[0]/ocassion")));
但它向我显示空值。我关注了 codenameone 网站上有关网络服务的视频。
我应该尝试什么才能在 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
}