当前位置: 首页 > 知识库问答 >
问题:

如何通过Java将响应值(json)获取到字符串

邢思淼
2023-03-14

我有如下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 在JAVA中解析此JSON响应

然后成功。

但是我怎样才能动态地将json格式从响应转换成字符串,这样我就可以输入到字符串jsonString了。

共有1个答案

沈英勋
2023-03-14

解析 json 时,“items”是 json 中的一个数组。因此,如果您尝试获取“项目”,则需要将其键入 cast 到 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");
}

希望对你有帮助。

 类似资料:
  • 问题内容: 我有一个方法: 当运行时,我得到如下输出: 现在我该怎样提取实际字符串值入, 使用反射? 问题答案: 看起来您需要引用该类的实例。您可能要调用get和pass的引用,将返回值转换为String。 您可以使用get,如下所示:

  • 我有一个方法,它返回字符串类型的字段对象列表。 这个方法应该将所有字符串字段都大写: 问题是:"field.set(...)"不起作用。它应该将值大写并将其设置为该字段的新值,但它不起作用...我如何解决这个问题的任何想法?(PS:在真正的代码中,"something Class.class"被设置为真正的类名...) 正在生成的错误是field.get(this)方法(insdefield.se

  • 我试图从Web读取JSON数据,但该代码返回空结果。我不确定我做错了什么。

  • 问题内容: 我知道如何计算字符串中某个字符或数字的索引,但是我可以使用任何预定义的方法在第n个位置给我该字符吗?因此,在字符串“ foo”中,如果我要求索引为0的字符,它将返回“ f”。 注意-在上述问题中,“字符”不是字符数据类型,而是字符串中的字母或数字。这里重要的是,调用该方法时,我不会收到字符,而是一个字符串(长度为1)。而且我知道substring()方法,但是我想知道是否有更整洁的方法

  • 问题内容: 我知道曾经有一种使用apache commons来获取它的方法,如此处记录的:http : //hc.apache.org/httpclient-legacy/apidocs/org/apache/commons/httpclient/HttpMethod.html 和此处的示例: http://www.kodejava.org/examples/416.html 但我认为这已被弃用。

  • 问题内容: 我正在尝试从Web读取JSON数据,但是该代码返回空结果。我不确定我在做什么错。 问题答案: 理想的方法 不是 使用,而是直接在阅读器上使用解码器。这是一个不错的函数,它获取url并将其响应解码到结构上。 使用示例: 您不应该在生产中使用默认结构,如最初回答的那样!(/ etc调用的是哪个)。原因是默认客户端没有设置超时。如果远程服务器无响应,那将是糟糕的一天。