我的json格式如下
{
"items": [
{
"id": 0,
"name": "name1"
},
{
"id": 1,
"name": "name2"
}
]
}
我想从中过滤名称,数组名称= [name1,name2]
@GET (Web service)
@Produces(MediaType.APPLICATION_JSON)
public Response getItem() {
ClientConfig config = new ClientConfig();
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(getUserName(),getUserPassword());
config.register(feature);
Client client = ClientBuilder.newClient(config);
WebTarget service = client.target(getURI() + "/Item");
Response response = service.request().header("Content-Type", "application/json").get();
return response;
}
我已经在这里试过了 http://gotoanswer.com/?q=How+to+Parse+the+this+JSON+Response+in+JAVA
然后成功。但是我如何动态地从Response到string获取json格式 这样我就可以输入String jsonString。
答案 0 :(得分:0)
当您解析json时,'items'是json中的数组。因此,如果您尝试获取“项目”,则需要将其输入到JSONArray。在这个JSONArray上迭代,你可以使用'name'和'id'定义的属性来获取数组的值。
你能这样试试吗?
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray items = (JSONArray) jsonObject.get("items");
for (int 1 = 0; i < items.length(); i++)
{
System.out.println( items.get(i).get("name");
}
希望它会对你有所帮助。