【java – 将serialVersionUID添加到已在使用的可序列化类中】教程文章相关的互联网学习教程文章

java – XStream序列化和反序列化中的多态性【代码】

我有这些课程:@XStreamAlias("person") public class PersonConfig {private AnimalConfig animalConfig;}public interface AnimalConfig {}@XStreamAlias("dog"); public class DogConfig extend AnimalConfig {}@XStreamAlias("cat"); public class CatConfig extend AnimalConfig {}我希望能够使用上面的类反序列化这个xml:<person><dog/> <person>除了反序列化这个xml,使用相同的类:<person><cat/> <person>因此,在这两种情...

Java – 反序列化扁平化的XML文件. (XStream,JAXB,MOXy,无论哪个……)【代码】

我目前正在使用XStream来解析XML文件,但无法让它做我需要它做的事情.如有必要,我将改为另一个图书馆,无论什么都可以解决这个问题! 基本上我正在尝试解析类似于此的XML提要:<product><title>Transformers Best of Grimlock</title><author1>Bob Budiansky</author1><author2>Simon Furman</author2> </product>我正在尝试解析这样的模型:public class Product extends Model {public String title;public List<String> authors;}...

java – 如何仅反序列化JSON中的某些字段?【代码】

我正在使用Gson来提取某些字段.顺便说一下,由于我在所有JSON响应中只需要一个值,因此我不想创建类.这是我的回答:{"result": {"name1": "value1","name2": "value2",},"wantedName": "wantedValue" }我需要wantValue但我不想为反序列化创建整个类.是否有可能使用Gson实现这一目标?解决方法:如果只需要一个字段,请使用JSONObject.import org.json.JSONException; import org.json.JSONObject;public class Main { public static v...

java – 序列化Jackson JSON树模型时排除NullNode【代码】

我有一个pojo类型,需要在序列化时将特定数值设置为特殊字符串.这些值将始终为null,可能非常深入到层次结构中. 为了实现这一点,我首先将pojo转换为具有完整空值的JsonNode以保留属性顺序,然后我按照结构中的路径设置一些字符串并根据需要创建节点.最后,我让ObjectMapper将JsonNode序列化为一个字符串.逻辑看起来像这样:ObjectMapper nonNullMapper = new ObjectMapper(); nonNullMapper.setSerializationInclusion(JsonInclude.Inc...

java – 使用Jackson序列化自定义地图【代码】

我想将自定义Map序列化为JSON. 实现map接口的类如下:public class MapImpl extends ForwardingMap<String, String> { //ForwardingMap comes from Guavaprivate String specialInfo;private HashMap<String, String> delegate;@Overrideprotected Map<String, String> delegate() {return this.delegate;} // some getters....}如果我现在打电话ObjectMapper mapper = new ObjectMapper();mapper.writeValue(new...

java – 为什么在反序列化过程中不调用默认构造函数?【代码】

ObjectInputStream is = new ObjectInputStream(new FileInputStream("test.ser")); TestClass tc = (TestClass)is.readObject();我在反序列化后得到了TestClass的对象,但是没有调用TestClass的默认构造函数.据我所知有两种方法可以创建对象,即使用new运算符或TestClass.class.newInstance().两者都调用默认构造函数. 看起来像反序列化过程创建对象不是用两个方法,这就是为什么不调用默认构造函数.问题是反序列化如何创建对象? 另...

java – Gson使用不断变化的字段类型进行反序列化【代码】

我有一个返回的API调用:{"id": 550,"favorite": false,"rated": {"value": 7.5},"watchlist": false }要么{"id": 550,"favorite": false,"rated": false,"watchlist": false }所以“rating”字段有时是一个对象或一个布尔值.我如何用Gson反序列化这样的东西? 到目前为止我的对象看起来像:public class Status{@Expose public boolean favorite;@Expose public Number id;@Expose public Rated rated;@Expose public boolean wat...

Java序列化是什么?你知道什么时候需要序列化吗?【图】

Java序列化是什么?你知道什么时候需要序列化吗?什么是 java 序列化?什么情况下需要序列化?序列化:将 Java 对象转换成字节流的过程。反序列化:将字节流转换成 Java 对象的过程。当 Java 对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。序列化的实现:类实现 Serializable 接口,这个接口没有需要实现的方法。实现 Serializable 接口是为了告诉 jvm 这个类的对象可以被序列化。注意事项:...

java – 复合多态类型的Spring REST JSON序列化/反序列化【代码】

我使用Spring / Spring Boot和Spring MVC和@RestController 我有一个复合模型对象:public abstract class BaseQuery {private final Long characteristicId;...}public abstract class ComparableQuery extends BaseQuery {private final Object value;private final String comparisonOperator;...}public class GreaterOrEqualQuery extends ComparableQuery {public GreaterOrEqualQuery(Long characteristicId, Object value)...

java – 使用GSON反序列化嵌套对象【代码】

我正在尝试反序列化以下结构{ meta: { keywords: [a, b, c, d]} ... }其他有效的结构是{ meta: { keywords: "a,b,c,d"} ... }和{ meta: {keywords: "a"} ...}我有这门课public class Data {@PropertyName("meta")MetaData meta;... }public class MetaData {List<String> keywords;... }和自定义反序列化器public static class CustomDeserilizer implements JsonDeserializer<MetaData>{@Overridepublic MetaData deseriali...

java – Json自定义反序列化器卡在无限递归中【代码】

通过以下方式实现自定义反序列化器以反序列化JSON.但mapper.treeToValue导致无限次调用代码.public class MyDeserializer extends StdDeserializer<MyResource> {@Overridepublic myResourcedeserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {MyResource resource = null;Class<? extends MyResource > clazz = null;ObjectMapper mapper = (ObjectMapper) parser.g...

将序列化HTML时间字段转换为java.time.LocalTime【代码】

我创建了一个Spring Boot Controller,它接受一个Event表单对象.@RestController@RequestMapping("/Event")public class EventController {@RequestMapping(value = "/create", method = RequestMethod.POST) private synchronized List<Event> createEvent(Event inEvent) { log.error("create called with event: " + inEvent);create(inEvent);return listAll();}}Event类看起来像这样(省略了getters / setters)public fin...

Gson&Java – 尝试序列化java.lang.Class:…忘记注册类型适配器?【代码】

我正在尝试创建一个用于定义配置类的抽象类.我希望随时从JSON导出和导入这些类.我正在尝试使用Gson实现这一目标. 写入JSON时我收到错误:can’t serialize java.lang.Class – Forgot to register a type adapter?我的主要课程:https://hastebin.com/pogohodovi.scala摘要配置类:https://hastebin.com/adeyawubuy.cs 子类的示例:public class DyescapeCOREConfiguration extends DyescapeConfiguration {private static transie...

java – Jackson反序列化可选抛出NoSuchFieldError【代码】

我开发了一个Spring Boot应用程序,并尝试包含一个Optional< String>我的一个模型中的(java.lang)字段,所以如果我使用的@RestController不会得到这样的字段,它会将它包含在Optional.empty()中.每次我通过POST调用该方法时,我都会得到一个java.lang.NoSuchFieldError:_valueInstantiator异常.我开始尝试并制作了一个精简版的反序列化器,它仍然给我错误: 该模型:import com.fasterxml.jackson.annotation.JsonIgnoreProperties; im...

java – Gson序列化通常忽略空字符串【代码】

是否有通用的方法告诉Gson不写空字符串? 我强烈不喜欢必须实现一个处理每个字段的TypeAdapter,正如answer here所暗示的那样.解决方法:有点.据我所知,Gson不会让你控制很多对象字段,唯一的控件就知道你可以拥有@JsonAdapter.例如,import com.google.gson.annotations.JsonAdapter;final class Pack {@JsonAdapter(EmptyStringTypeAdapter.class)final String foo;@JsonAdapter(EmptyStringTypeAdapter.class)final String bar;priv...

序列化 - 相关标签