gpt4 book ai didi

java - 如何调用 reSTLet 资源

转载 作者:行者123 更新时间:2023-12-02 06:03:52 24 4
gpt4 key购买 nike

我有一个 ReSTLet 资源,如下所示:

@Get("json")

public List<String> retrieve() {

MyCityService nh = (MyCityService)getContext().getAttributes().get(MyCityService.class.getCanonicalName());

return nh.getReport();

}

如您所见,它返回一个字符串列表。我尝试使用以下代码获取远程类中的返回值:

ClientResource client = new ClientResource("http://remoteserver.com/mycity/nh/json");
System.out.println(client.get().getText());

getText() 方法将列表的全部内容作为一个字符串返回,但我想分别获取列表中添加的每个字符串值。有办法做到这一点吗?

最佳答案

我建议您使用 JSON 数据交换。只需进行最少的更改,您就可以使用任何 Java 库的 JSON 解析器来完成此操作。我会推荐 [JSON Lib] ( http://sourceforge.net/projects/json-lib )

在您的其余网络服务中,您可以使用

@Get("json")
@Produces("MediaType.APPLICATION_JSON") // It will return JSON Object as response
public List<String> retrieve() {

MyCityService nh = (MyCityService)getContext().getAttributes().get(MyCityService.class.getCanonicalName());

return nh.getReport();

}

在客户端部分,您可以使用 JSON.parser 解析回数据并放入列表中。

   JSONObject jsonObject = (JSONObject) jsonParser.parse(client.get().getText());
System.out.println(jsonObject.get("firstname"));
System.out.println(jsonObject.get("firstname"));

关于java - 如何调用 reSTLet 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22448487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com