Java-获取多个JSON值并将其转换为字符串

标签 java json

如何获取所有“名称”值并将它们转换为字符串? 例如,如果我执行以下操作:

System.out.println(value[1]);

它将打印出name1
这是我到目前为止所拥有的:

JSON:

[
    {
        "name":"name1"
    },
    {
        "name":"name2",
        "changedToAt":1470659096000
    },
    {
        "name":"name3",
        "changedToAt":1473435817000
    }
]

Java代码:

try {
    String UUID = p.getUniqueId().toString();
    String slimUUID = UUID.replace("-", "");
    InputStream in = new URL("https://api.mojang.com/user/profiles/" + slimUUID + "/names").openStream();

    String json = IOUtils.toString(in);
    IOUtils.closeQuietly(in);

    try {
        JSONParser parser = new JSONParser();
        JSONObject jsonparse = (JSONObject) parser.parse(json);
        //get "name" values and turn into String
    } catch (ParseException e) {
        System.out.println(e.getMessage());
    }

    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}

最佳答案

您需要迭代数组并将所有 name 值累积到字符串数组中。

下面是工作源代码:

JsonArray jsonObject = new JsonParser()
        .parse(json)
        .getAsJsonArray();

List<String> names = new ArrayList<>();
for (JsonElement jsonElement : jsonObject) {
    names.add(jsonElement.getAsJsonObject().get("name").getAsString());
}

//now you can use as you wish, by index
System.out.println(names.get(1));//returns "name2"

关于Java-获取多个JSON值并将其转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44477288/

相关文章:

java - MouseWheelListener block 滚动

ios - 如何在swift中通过单元格解析json纬度和经度

java - Android 中 JsonObjectRequest 错误 500

javascript - 如何从对象数组中获取项目

java - JdbcSQLException 超过 40 次测试

java - 如何使用多线程使我的应用程序更快

java - 优化 Spring RestControllerAdvice 多个异常

Java 检查日期(由整数组成)是否有效

json - 没有使用 instagram API 的分页信息

python - 如何序列化其成员不可直接序列化但其 str() 表示可序列化的对象?