Java 解析字符串数组并拾取特定节点值

Java 解析字符串数组并拾取特定节点值,java,json,gson,Java,Json,Gson,这是字符串,我必须使用最小行从中提取“消息” 已尝试GSON,对象映射器 { "errors": [ { "timestamp": "2019-10-17T10:45:26.276+0000", "message": "This is an error", "debugMessage": "not working" } ] } 这是我迄今为止尝试过的代码 JsonParser parser = new JsonParser(); J

这是字符串,我必须使用最小行从中提取“消息”

已尝试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"
  }
]
{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}
"message": "This is an error"
然后从
JsonArray
获取第一个
JsonObject
,它位于索引
0

JsonObject innerObj = errCode.get(0).getAsJsonObject();
即:

"errors": [
  {
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
  }
]
{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}
"message": "This is an error"
现在从
JsonObject

String msg = innerObj.get("message").getAsString();
即:

"errors": [
  {
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
  }
]
{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}
"message": "This is an error"

在上面的
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"
  }
]
{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}
"message": "This is an error"
然后从
JsonArray
获取第一个
JsonObject
,它位于索引
0

JsonObject innerObj = errCode.get(0).getAsJsonObject();
即:

"errors": [
  {
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
  }
]
{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}
"message": "This is an error"
现在从
JsonObject

String msg = innerObj.get("message").getAsString();
即:

"errors": [
  {
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
  }
]
{
  "timestamp": "2019-10-17T10:45:26.276+0000",
  "message": "This is an error",
  "debugMessage": "not working"
}
"message": "This is an error"

显示您尝试的代码djsonparser parser=new JsonParser();JsonElement元素=parser.parse(响应);JsonObject jsonObj=element.getAsJsonObject();字符串errCode=jsonObj.get(“errors”).getAsString();显示您尝试的代码djsonparser parser=new JsonParser();JsonElement元素=parser.parse(响应);JsonObject jsonObj=element.getAsJsonObject();字符串errCode=jsonObj.get(“errors”).getAsString();使用小的技术:JsonElement msg=innerObj.get(“消息”);使用小的技术:JsonElement msg=innerObj.get(“消息”);