我有一个嵌套的 json 结构:
"info": [
{
"name":"Alice",
"phone": [{
"home": "1234567890",
"mobile": "0001112223"
}]
},
{
"name":"Bob",
"phone": [{
"home": "3456789012",
"mobile": "4445556677"
}]
}
]
我正在使用杰克逊。我只想提取有关“鲍勃”的信息并将其读入树中。我不想将整个结构读入树中(我知道该怎么做),然后提取有关 Bob 的信息。我想使用流 API(JsonParser)首先用“Bob”提取所有信息,然后将其制作成 jsontree。
我以为我会将它读入一个字节数组,然后将其转换为一棵树,如下所示:
JsonToken token = null;
byte[] data;
int i = 0;
while( jParser.nextToken()!=JsonToken.END_ARRAY) {
data[i] = jParser.getByteValue();
i ++;
}
JsonNode node = null;
ObjectMapper objectMapper = new ObjectMapper();
try {
node = objectMapper.readValue(jParser, JsonNode.class);
}
catch(Exception e) {
e.printStackTrace();
}
但是,这并没有返回我想要的结果。有一个 jsonParse 异常,所以我认为这不是要走的路。