本文整理匯總了Java中com.fasterxml.jackson.core.JsonToken.isStructStart方法的典型用法代碼示例。如果您正苦於以下問題:Java JsonToken.isStructStart方法的具體用法?Java JsonToken.isStructStart怎麽用?Java JsonToken.isStructStart使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.fasterxml.jackson.core.JsonToken
的用法示例。
在下文中一共展示了JsonToken.isStructStart方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: processToken
import com.fasterxml.jackson.core.JsonToken; //導入方法依賴的package包/類
private JsonToken processToken(JsonToken curToken, JsonParser parser, JsonGenerator jgen)
throws IOException {
if (curToken.isStructEnd()) {
// this is our escape and base case.
return curToken;
}
if (curToken.isStructStart()) {
processStructStart(curToken, jgen);
JsonToken token = processToken(parser.nextToken(), parser, jgen);
while (!token.isStructEnd()) {
token = processToken(token, parser, jgen);
}
processStructEnd(token, jgen);
return parser.nextToken();
}
if (curToken.id() == JsonTokenId.ID_FIELD_NAME) {
String currentName = parser.getCurrentName();
if (isFiltered && filters.containsKey(parser.getCurrentName())) {
jgen.writeFieldName(currentName);
// perform filtering.
return filters.get(parser.getCurrentName()).processToken(parser.nextToken(), parser, jgen);
} else if (!isFiltered) {
jgen.writeFieldName(currentName);
return processToken(parser.nextToken(), parser, jgen);
} else {
parser.nextToken();
parser.skipChildren();
return processToken(parser.nextToken(), parser, jgen);
}
} else if (curToken.isScalarValue()) {
processValue(curToken, parser, jgen);
return parser.nextToken();
} else {
LOGGER.error(
"Unable to process the token {} with name {}.", curToken, parser.getCurrentName());
throw new RuntimeException(
"Unable to process the token " + curToken + " with name" + parser.getCurrentName());
}
}