當前位置: 首頁>>代碼示例>>Java>>正文


Java JsonParser.getCodec方法代碼示例

本文整理匯總了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.");
  }
}
 
開發者ID:dbmdz,項目名稱:iiif-apis,代碼行數:22,代碼來源:SelectorDeserializer.java

示例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);
}
 
開發者ID:dbmdz,項目名稱:iiif-apis,代碼行數:18,代碼來源:ProblemHandler.java

示例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()};
  }

}
 
開發者ID:pinterest,項目名稱:soundwave,代碼行數:18,代碼來源:StringArrayOrElementStringDeserializer.java

示例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;
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:25,代碼來源:SoortActieBrongebruikDeserializer.java

示例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);
}
 
開發者ID:Esri,項目名稱:server-extension-java,代碼行數:25,代碼來源:AbstractTypedObjectDeserializer.java

示例6: gsonMap2Map

import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
/**
 * Десериализатор Gson Map в Map&lt;String, String&gt; значение
 * 
 * @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;
}
 
開發者ID:onixred,項目名稱:golos4j,代碼行數:27,代碼來源:Util.java

示例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;
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:24,代碼來源:BijhoudingsautorisatieDeserializer.java

示例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());
}
 
開發者ID:adessoAG,項目名稱:JenkinsHue,代碼行數:8,代碼來源:Scenario.java

示例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);
}
 
開發者ID:twosigma,項目名稱:beaker-notebook-archive,代碼行數:14,代碼來源:NamespaceBindingDeserializer.java

示例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!");
  }
}
 
開發者ID:osswangxining,項目名稱:iotplatform,代碼行數:12,代碼來源:EntityIdDeserializer.java

示例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);
}
 
開發者ID:EonTechnology,項目名稱:server,代碼行數:16,代碼來源:DifficultyDeserializer.java

示例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();
}
 
開發者ID:onixred,項目名稱:golos4j,代碼行數:12,代碼來源:MetadataDeserializer.java

示例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);
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:31,代碼來源:DienstbundelGroepAttribuutDeserializer.java

示例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;
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:38,代碼來源:VrijBerichtDeserializer.java

示例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;
}
 
開發者ID:brunocvcunha,項目名稱:jiphy,代碼行數:15,代碼來源:OptionalArrayDeserializer.java


注:本文中的com.fasterxml.jackson.core.JsonParser.getCodec方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。