本文整理匯總了Java中com.fasterxml.jackson.core.JsonParser.getCodec方法的典型用法代碼示例。如果您正苦於以下問題:Java JsonParser.getCodec方法的具體用法?Java JsonParser.getCodec怎麽用?Java JsonParser.getCodec使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.fasterxml.jackson.core.JsonParser
的用法示例。
在下文中一共展示了JsonParser.getCodec方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
public Selector deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException {
ObjectMapper mapper = (ObjectMapper) p.getCodec();
ObjectNode obj = mapper.readTree(p);
String typeName;
if (obj.get("@type").isArray()) {
// Find the actual selector type
typeName = StreamSupport.stream(obj.get("@type").spliterator(), false)
.filter(v -> !v.textValue().equals("cnt:ContentAsText"))
.findFirst().orElse(new TextNode("UNKNOWN")).textValue();
// Make @type a text value so that Jackson doesn't bail out further down the line
obj.set("@type", new TextNode(typeName));
} else {
typeName = obj.get("@type").textValue();
}
if (MAPPING.containsKey(typeName)) {
return mapper.treeToValue(obj, MAPPING.get(typeName));
} else {
throw new IllegalArgumentException("Cannot deserialize Selector.");
}
}
示例2: handleUnexpectedToken
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public Object handleUnexpectedToken(DeserializationContext ctxt, Class<?> targetType, JsonToken t, JsonParser p,
String failureMsg) throws IOException {
if (p.getCurrentName().equals("@type") && t == JsonToken.START_ARRAY) {
// Handle multi-valued @types, only current known cases are oa:SvgSelector and oa:CssStyle
// in combination with cnt:ContentAsText
ObjectMapper mapper = (ObjectMapper) p.getCodec();
String typeName = StreamSupport.stream(((ArrayNode) mapper.readTree(p)).spliterator(), false)
.map(JsonNode::textValue)
.filter(v -> !v.equals(ContentAsText.TYPE))
.findFirst().orElse(null);
if (typeName != null) {
return typeName;
}
}
return super.handleUnexpectedToken(ctxt, targetType, t, p, failureMsg);
}
示例3: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
throws IOException, JsonProcessingException {
ObjectCodec oc = jsonParser.getCodec();
JsonNode node = oc.readTree(jsonParser);
if (node instanceof ArrayNode) {
ArrayNode arrayNode = (ArrayNode) node;
ArrayList<String> ret = new ArrayList<>();
for (int i = 0; i < arrayNode.size(); i++) {
ret.add(arrayNode.get(i).textValue());
}
return ret.toArray(new String[0]);
} else {
return new String[]{node.textValue()};
}
}
示例4: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public final SoortActieBrongebruik deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
final ObjectCodec oc = jp.getCodec();
final JsonNode node = oc.readTree(jp);
final SoortActie soortActie = EnumUtils.getAsEnum(SoortActie.class, JsonUtils.getAsInteger(node, SoortActieBrongebruikModule.SOORT_ACTIE));
final SoortAdministratieveHandeling soortAdministratieveHandeling =
EnumUtils.getAsEnum(
SoortAdministratieveHandeling.class,
JsonUtils.getAsInteger(node, SoortActieBrongebruikModule.SOORT_ADMINISTRATIEVE_HANDELING));
final SoortDocument soortDocument =
entityManager.find(SoortDocument.class, JsonUtils.getAsShort(node, SoortActieBrongebruikModule.SOORT_DOCUMENT));
final SoortActieBrongebruikSleutel soortActieBrongebruikSleutel =
new SoortActieBrongebruikSleutel(soortActie, soortAdministratieveHandeling, soortDocument);
final SoortActieBrongebruik soortActieBrongebruik = new SoortActieBrongebruik(soortActieBrongebruikSleutel);
soortActieBrongebruik.setId(JsonUtils.getAsShort(node, SoortActieBrongebruikModule.ID));
soortActieBrongebruik.setDatumAanvangGeldigheid(JsonUtils.getAsInteger(node, SoortActieBrongebruikModule.DATUM_AANVANG_GELDIGHEID));
soortActieBrongebruik.setDatumEindeGeldigheid(JsonUtils.getAsInteger(node, SoortActieBrongebruikModule.DATUM_EINDE_GELDIGHEID));
return soortActieBrongebruik;
}
示例5: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public T deserialize(JsonParser jsonParser,
DeserializationContext deserializationContext) throws IOException,
JsonProcessingException {
ObjectCodec objectCodec = jsonParser.getCodec();
JsonNode node = objectCodec.readTree(jsonParser);
Class<? extends T> typeClass = null;
if (node.isObject() && node.has("type")) {
JsonNode type = node.get("type");
if (type != null && type.isTextual()) {
typeClass = registry.get(type.textValue());
}
}
if (typeClass == null) {
return null;
}
StringWriter writer = new StringWriter();
objectMapper.writeValue(writer, node);
writer.close();
String json = writer.toString();
return objectMapper.readValue(json, typeClass);
}
示例6: gsonMap2Map
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
/**
* Десериализатор Gson Map в Map<String, String> значение
*
* @param parser
* Gson строка
* @throws IOException
* исключение парсера
* @return карта
*/
public static Map<String, String> gsonMap2Map(JsonParser parser) throws IOException {
ObjectCodec codec = parser.getCodec();
TreeNode node = codec.readTree(parser);
Map<String, String> ret = new HashMap<String, String>();
if (node.isObject()) {
for (Iterator<String> iter = node.fieldNames(); iter.hasNext();) {
String fieldName = iter.next();
TreeNode field = node.get(fieldName);
if (field != null) {
ret.put(fieldName, field.toString());
} else {
ret.put(fieldName, "null");
}
}
}
return ret;
}
示例7: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public final Bijhoudingsautorisatie deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
final ObjectCodec oc = jp.getCodec();
final JsonNode node = oc.readTree(jp);
final Boolean indicatieModelautorisatie =
JsonUtils.getAsBoolean(
node,
BijhoudingsautorisatieModule.INDICATIE_MODEL_AUTORISATIE,
BijhoudingsautorisatieModule.WAARDE_JA,
Boolean.TRUE,
Boolean.FALSE);
final Bijhoudingsautorisatie bijhoudingsautorisatie = new Bijhoudingsautorisatie(indicatieModelautorisatie);
bijhoudingsautorisatie.setId(JsonUtils.getAsInteger(node, BijhoudingsautorisatieModule.ID));
bijhoudingsautorisatie.setNaam(JsonUtils.getAsString(node, BijhoudingsautorisatieModule.NAAM));
bijhoudingsautorisatie.setDatumIngang(JsonUtils.getAsInteger(node, BijhoudingsautorisatieModule.DATUM_INGANG));
bijhoudingsautorisatie.setDatumEinde(JsonUtils.getAsInteger(node, BijhoudingsautorisatieModule.DATUM_EINDE));
bijhoudingsautorisatie.setIndicatieGeblokkeerd(
JsonUtils.getAsBoolean(node, BijhoudingsautorisatieModule.INDICATIE_GEBLOKKEERD, BijhoudingsautorisatieModule.WAARDE_JA, Boolean.TRUE, null));
return bijhoudingsautorisatie;
}
示例8: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public Scenario deserialize(JsonParser jp, DeserializationContext ctx)
throws IOException, JsonProcessingException {
ObjectCodec oc = jp.getCodec();
JsonNode node = oc.readTree(jp);
return Scenario.valueOf(node.get("name").asText());
}
示例9: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public NamespaceBinding deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
ObjectMapper mapper = (ObjectMapper)jp.getCodec();
JsonNode node = mapper.readTree(jp);
String name = node.get("name").asText();
String session = node.get("session").asText();
Boolean defined = node.get("defined").asBoolean();
JsonNode o = node.get("value");
Object obj = objectSerializerProvider.get().deserialize(o, mapper);
return new NamespaceBinding(name,session,obj,defined);
}
示例10: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public EntityId deserialize(JsonParser jsonParser, DeserializationContext ctx)
throws IOException, JsonProcessingException {
ObjectCodec oc = jsonParser.getCodec();
ObjectNode node = oc.readTree(jsonParser);
if (node.has("entityType") && node.has("id")) {
return EntityIdFactory.getByTypeAndId(node.get("entityType").asText(), node.get("id").asText());
} else {
throw new IOException("Missing entityType or id!");
}
}
示例11: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public Difficulty deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
ObjectMapper mapper = (ObjectMapper) p.getCodec();
JsonNode node = (JsonNode) mapper.readTree(p);
long lastBlockID = 0;
try {
lastBlockID = Format.ID.blockId(node.get(StringConstant.lastBlockID).asText());
} catch (Exception ignore) {
}
BigInteger difficulty = new BigInteger(node.get(StringConstant.cumulativeDifficulty).asText());
return new Difficulty(lastBlockID, difficulty);
}
示例12: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public MetadataDto deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
ObjectCodec codec = p.getCodec();
TreeNode node = codec.readTree(p);
try {
return Util.node2String2Object(node, MetadataDto.class);
} catch (Exception e) {
LOG.error("Unable deserialize asset: " + e.getMessage(), e);
}
return new MetadataDto();
}
示例13: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public final DienstbundelGroepAttribuutView deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
final ObjectCodec oc = jp.getCodec();
final JsonNode node = oc.readTree(jp);
final DienstbundelGroep dienstbundelGroep =
entityManager.getReference(DienstbundelGroep.class, JsonUtils.getAsInteger(node, DienstbundelGroepAttribuutModule.DIENSTBUNDEL_GROEP));
final Element attribuut = EnumUtils.getAsEnum(Element.class, JsonUtils.getAsInteger(node, DienstbundelGroepAttribuutModule.ATTRIBUUT));
final nl.bzk.algemeenbrp.dal.domein.brp.entity.DienstbundelGroepAttribuut dienstbundelGroepAttribuut;
if (JsonUtils.getAsInteger(node, DienstbundelGroepAttribuutModule.ID) != null) {
dienstbundelGroepAttribuut =
entityManager.getReference(
nl.bzk.algemeenbrp.dal.domein.brp.entity.DienstbundelGroepAttribuut.class,
JsonUtils.getAsInteger(node, DienstbundelGroepAttribuutModule.ID));
} else {
dienstbundelGroepAttribuut = new nl.bzk.algemeenbrp.dal.domein.brp.entity.DienstbundelGroepAttribuut(dienstbundelGroep, attribuut);
}
final Boolean actief =
JsonUtils.getAsBoolean(
node,
DienstbundelGroepAttribuutModule.ACTIEF,
DienstbundelGroepAttribuutModule.WAARDE_JA,
Boolean.TRUE,
Boolean.FALSE);
return new DienstbundelGroepAttribuutView(dienstbundelGroepAttribuut, actief);
}
示例14: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public VrijBericht deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
final ObjectCodec oc = jp.getCodec();
final JsonNode node = oc.readTree(jp);
final Integer id = JsonUtils.getAsInteger(node, "id");
VrijBericht vrijBericht;
if (id != null) {
// Bij een bestaand vrij bericht alleen indicatieGelezen aanpassen.
vrijBericht = entityManager.find(VrijBericht.class, id);
final String ongelezen = JsonUtils.getAsString(node, "ongelezen");
boolean gelezen;
switch (ongelezen) {
case "Nee":
gelezen = true;
break;
case "Ja":
default:
gelezen = false;
}
vrijBericht.setIndicatieGelezen(gelezen);
} else {
final Short soortvrijberId = JsonUtils.getAsShort(node, "soortvrijber");
final String data = JsonUtils.getAsString(node, "data");
final SoortVrijBericht soortVrijBericht = entityManager.getReference(SoortVrijBericht.class, soortvrijberId);
vrijBericht =
new VrijBericht(SoortBerichtVrijBericht.STUUR_VRIJ_BERICHT, soortVrijBericht,
Timestamp.from(DatumUtil.nuAlsZonedDateTimeInNederland().toInstant()), data, null);
final ArrayNode partijen = (ArrayNode) node.get("partijen");
for (JsonNode partijNode : partijen) {
final Short partijId = Short.valueOf(partijNode.asText());
final VrijBerichtPartij vrijBerichtPartij = new VrijBerichtPartij(vrijBericht, partijRepository.findOne(partijId));
vrijBericht.getVrijBerichtPartijen().add(vrijBerichtPartij);
}
}
return vrijBericht;
}
示例15: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public List<T> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
ObjectCodec oc = jp.getCodec();
JsonNode node = oc.readTree(jp);
ArrayList<T> list = new ArrayList<>();
if (node.isArray()) {
for (JsonNode elementNode : node) {
list.add(oc.treeToValue(elementNode, clazz));
}
} else {
list.add(oc.treeToValue(node, clazz));
}
return list;
}