这是作为字符串出现的,我必须使用最小行从中提取“消息”
已经尝试过 GSON、对象映射器
{
"errors": [
{
"timestamp": "2019-10-17T10:45:26.276+0000",
"message": "This is an error",
"debugMessage": "not working"
}
]
}
这是我迄今为止尝试过的代码
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(response);
JsonObject jsonObj = element.getAsJsonObject();
String errCode = jsonObj.get("errors").getAsString();
最佳答案
在上面的 JSON
示例中,errors
是一个 JsonArray
JsonArray errCode = jsonObj.get("errors").getAsJsonArray();
这是:
"errors": [
{
"timestamp": "2019-10-17T10:45:26.276+0000",
"message": "This is an error",
"debugMessage": "not working"
}
]
然后从 JsonArray
中,您需要获取位于索引 0
处的第一个 JsonObject
JsonObject innerObj = errCode.get(0).getAsJsonObject();
这是:
{
"timestamp": "2019-10-17T10:45:26.276+0000",
"message": "This is an error",
"debugMessage": "not working"
}
现在从 JsonObject
获取消息
String msg = innerObj.get("message").getAsString();
这是:
"message": "This is an error"
关于java - 解析字符串数组并选择特定节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58436232/