gsonBuilder.setFieldNamingStrategy(new MyFieldNamingStrategy()); Gson gson = gsonBuilder.create(); Egg egg = gson.fromJson(new FileReader("input.json"), Egg.class);
public void testCustomFieldNamingStrategy() { Gson gson = new GsonBuilder() .setFieldNamingStrategy(new xPrefixStrategy()) .registerTypeAdapterFactory(SampleAdapterFactory.create()) .create(); assertEquals("{'xlowerCamel':1,'xUpperCamel':2,'x_lowerCamelLeadingUnderscore':3," + "'x_UpperCamelLeadingUnderscore':4,'xlower_words':5,'xUPPER_WORDS':6," + "'annotatedName':7,'xlowerId':8}", gson.toJson(getTestNames()).replace('\"', '\'')); }
private static void markSetAndMapFields(final GsonBuilder gsonBuilder) { gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) { if (Set.class.isAssignableFrom(f.getType()) || Map.class.isAssignableFrom(f.getType())) { return MARKER + f.getName(); } return f.getName(); } }); }
private static void markSetAndMapFields(final GsonBuilder gsonBuilder) { gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) { if (Set.class.isAssignableFrom(f.getType()) || Map.class.isAssignableFrom(f.getType())) { return MARKER + f.getName(); } return f.getName(); } }); }
GsonBuilder gsonBuilder = new GsonBuilder(); sonBuilder.addSerializationExclusionStrategy(new PersonFromDExclusionStrategy()); gsonBuilder.setFieldNamingStrategy(new PersonFromDBNamingStrategy()); Gson gson = gsonBuilder.create(); PersonFromDB1 person1 = ...; // get the object PersonFromDB2 person2 = ...; // get the object System.out.println(gson.toJson(person1)); System.out.println(gson.toJson(person2));
/** * Configures Gson to apply a specific naming policy strategy to an object's field during * serialization and deserialization. * * @param fieldNamingStrategy the actual naming strategy to apply to the fields * @return a reference to this {@code GsonBuilder} object to fulfill the "Builder" pattern * @since 1.3 */ public GsonBuilder setFieldNamingStrategy(FieldNamingStrategy fieldNamingStrategy) { return setFieldNamingStrategy(new FieldNamingStrategy2Adapter(fieldNamingStrategy)); }
/** * Configures Gson to apply a specific naming policy to an object's field during serialization * and deserialization. * * @param namingConvention the JSON field naming convention to use for serialization and * deserialization. * @return a reference to this {@code GsonBuilder} object to fulfill the "Builder" pattern */ public GsonBuilder setFieldNamingPolicy(FieldNamingPolicy namingConvention) { return setFieldNamingStrategy(namingConvention.getFieldNamingPolicy()); }
private static Gson getGson() { GsonBuilder reader = new GsonBuilder(); reader.setFieldNamingStrategy((new PrefixedFieldNamingStrategy("m"))); reader.disableHtmlEscaping(); reader.setPrettyPrinting(); return reader.create(); }
private Gson getGson() { if (gson == null) { GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.setFieldNamingStrategy(new AnnotateNaming()); gsonBuilder.serializeNulls(); gsonBuilder.excludeFieldsWithModifiers(Modifier.TRANSIENT); gson = gsonBuilder.create(); } return gson; }
/** * 第一种方式 * @return Gson对象 */ public static Gson getJson() { if (gson == null) { GsonBuilder builder = new GsonBuilder(); builder.setLenient(); builder.setFieldNamingStrategy(new AnnotateNaming()); builder.serializeNulls(); gson = builder.create(); } return gson; }
@Override protected void doStart() throws Exception { if (gson == null) { GsonBuilder builder = new GsonBuilder(); if (exclusionStrategies != null && !exclusionStrategies.isEmpty()) { ExclusionStrategy[] strategies = exclusionStrategies.toArray(new ExclusionStrategy[exclusionStrategies.size()]); builder.setExclusionStrategies(strategies); } if (longSerializationPolicy != null) { builder.setLongSerializationPolicy(longSerializationPolicy); } if (fieldNamingPolicy != null) { builder.setFieldNamingPolicy(fieldNamingPolicy); } if (fieldNamingStrategy != null) { builder.setFieldNamingStrategy(fieldNamingStrategy); } if (serializeNulls) { builder.serializeNulls(); } if (prettyPrint) { builder.setPrettyPrinting(); } if (dateFormatPattern != null) { builder.setDateFormat(dateFormatPattern); } gson = builder.create(); } }
private GsonBuilder initBuilder(Map<Class, List<Class<?>>> concreteSubTypes, GlobalEnvironment environment) { GsonBuilder gsonBuilder = (prototype != null ? prototype.newBuilder() : new GsonBuilder()) .serializeNulls() .setFieldNamingStrategy(fieldNamingStrategy != null ? fieldNamingStrategy : new GsonFieldNamingStrategy(environment.messageBundle)) .registerTypeAdapterFactory(new GsonJava8TypeAdapterFactory()); return configurers.stream().reduce(gsonBuilder, (builder, config) -> config.configure(new ConfigurerParams(builder, concreteSubTypes, this.typeInfoGenerator, environment)), (b1, b2) -> b2); }
public static GsonBuilder newGsonBuilder() { return new GsonBuilder() .disableHtmlEscaping() .setFieldNamingStrategy(new ElementNameGsonFieldNamingStrategy()) .setExclusionStrategies(new AnnotatedFieldGsonExclusionStrategy<>(ElementName.class)) .registerTypeAdapterFactory(new StringConstructedTypeAdapterFactory()) .registerTypeAdapter(UUID.class, new UUIDTypeAdapter()) .registerTypeAdapter(Calendar.class, new CalenderTypeAdapter()) .registerTypeAdapter(Date.class, new DateTypeAdapter()) .registerTypeAdapter(Long.class, new LongTypeAdapter()); } }
@Test public void TestSerializationCustomGson() { FieldNamingStrategy customPolicy = new FieldNamingStrategy() { @Override public String translateName(Field f) { return f.getName().replace("_", ""); } }; GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.setFieldNamingStrategy(customPolicy); Gson gson = gsonBuilder.create(); UserNaming user = new UserNaming("Norman", "norman@futurestud.io", true, 26); String usersJson = gson.toJson(user); System.out.println("usersJson:" + usersJson); }
gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) {
gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) {