【发布时间】:2016-03-01 22:20:42
【问题描述】:
我有一个嵌套的 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 异常,所以我认为这不是要走的路。
【问题讨论】:
-
异常?您不认为该异常的内容可能有用吗? :-)
-
没有?很高兴听到您的想法... :-)
-
我的意思是,如果没有异常消息,就无法知道发生了什么。代码看起来是合法的。但我也有更好的编码想法,会添加答案。
标签: java json jackson jackson-modules