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

java – 可以序列化通用集合吗?【代码】

如果我有一些Collection Collection< SomeClass>班;可以按原样序列化吗?或者我是否必须将其声明为ArrayList,HashSet或其他实现Serializable的具体实现?如果是这样,这样做的一般做法是什么?解决方法:只要SomeClass是可序列化的,SomeClass对象的任何标准java.util.collection都是可序列化的. 我一直认为这是因为Collection接口本身扩展了Serializable,但是 – 正如你在评论中指出的那样 – 事实并非如此.所以,我运行了以下测试:p...

java – Jackson – 序列化包含null元素的列表【代码】

我正在使用Jackson 2.4将对象序列化为JSON.当我序列化对象列表时,如果某些元素为null,则结果JSON字符串包含一些“null”字符串.如何防止“null”元素被序列化? ObjectMapper有没有配置?我已经设置了“setSerializationInclusion(Include.NON_NULL)”! 这是我的代码:List<String> strings = new ArrayList<>(); strings.add("string 1"); strings.add("string 2"); strings.add(null); strings.add(null);序列化后我得到了这个:...

java – 在Spring MVC控制器中反序列化json数组【代码】

我发送一个json对象列表,并尝试在我的Spring控制器中反序列化它.但是我一直得到“错误请求”的错误并导致状态代码为415.但是,我的json数组是有效的. json是 – {“users”: [{“userName”: “john”,“email”: “john@gmail.com”,“user_id”: “u223344”},{“userName”: “Smith”,“email”: “smith@gmail.com”,“user_id”: “u223345”}]}Ajax调用如下 – $.ajax({ url: $("#addNewUser").attr("action"), data: JSON.s...

java – 同一个类的不同JSON序列化【代码】

足够常见的问题:我想以两种不同的方式序列化的类.在一种情况下,我想包括getItems()方法的输出,在另一种情况下,我不想在输出中看到这一点. 选择使用Jackson Views,因为它给了我最大的灵活性.创建:public class Views {public static class WithOrderItems {} }然后在要序列化的类中:@JsonView(Views.WithOrderItems.class) public Iterable<OrderItem> getItems() {//Code... }在进行序列化的方法中:// Expectation: this *shou...

Java对象的选择性序列化【代码】

考虑一下我的java类中有10个字段的情况.我想要的是,对其中的一些(例如3)做一些特殊的处理,其余的字段通过默认的ObjectOutputStream实现被序列化.有没有办法实现这个目标? 我可以在我的类中提供writeObject(ObjectOutputStream os)的实现来专门处理这3个字段,但是如何默认其余字段. 谢谢解决方法:您可以执行以下操作: >将三个特殊字段声明为瞬态>实现writeObject(ObjectOutputStream out)并在此方法中:>使用ObjectOutputStream.d...

java – 尝试将自定义通用gson反序列化器迁移到jackson【代码】

目前正在使用GSON进行反序列化并使用改造GsonConverterFactory进行改造:GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(new TypeToken<Map<Book, Collection<Author>>>(){}.getType(), new BooksDeserializer(context)); Gson gson = gsonBuilder.create();Retrofit retrofit = new Retrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create(gson)).build();BookServic...

java – Spring Boot 2没有序列化LocalDateTime【代码】

我最近尝试使用spring-boot 2实现微服务. 现在,每当我尝试从REST服务返回包含java.time.LocalDateTime的对象时,LocalDateTime将被序列化为整数数组.像这样:{"id": "5bf1425f9f8de267f04b22ad","description": "aaaaaarrrgggghhhhh","timestamp": [2018,11,18,11,43,43,889000000],"time": 2.25,... }我尝试通过application.yml中的设置配置ObjectMapperspring:jackson:serialization:write-dates-as-timestamps: false但不起作用....

java – 在自定义反序列化中调用标准反序列化【代码】

我有一个简单的数据结构,它被序列化和反序列化.在反序列化时,我希望数据结构本身进行后续处理步骤.在我们的例子中,它应该简单地在它包含的所有字符串上调用String.intern(). 抢先回答不相关的问题: 在正常反序列化对象后,为什么不简单地执行此操作? >此对象在很多地方被序列化/反序列化>此数据结构是序列化/反序列化的较大对象的一部分,因此您必须在反序列化后浏览任何封装对象>使用该框架的其他开发人员可能不会意识到或忘记这一...

为了避免XMLEncoder的序列化,你如何在Javabean中将属性标记为瞬态?【代码】

在变量声明上使用“transient”关键字或在getter上使用“@Transient”不会阻止XMLEncoder序列化属性.我发现告诉XMLEncoder不要序列化特定属性的唯一方法是使用以下代码:BeanInfo info = Introspector.getBeanInfo(MyClass2.class); PropertyDescriptor[] propertyDescriptors = info.getPropertyDescriptors(); for (int i = 0; i < propertyDescriptors.length; ++i) {PropertyDescriptor pd = propertyDescriptors[i];if (pd.ge...

java – Jersey JSON序列化【代码】

我设置了一个eclipse WebApp项目,并将Jersey和Jackson JAR放在WEB-INF / lib目录中.我想使用JSON序列化,但没有设法修复此错误:MessageBodyWriter not found for media type=application/json, type=class com.rest.Greeting, genericType=class com.rest.Greeting. I already googled much but all the solutions are updated or don't solve my issue. Here is the structure of my project:WEB-INF / lib文件夹包含以下JAR:aop...

java – 使用Jackson反序列化Json时将UnknownFields保存到地图【代码】

我的班级看起来像:Class A{private String amount;@JsonIgnoreprivate Map<String,String> unknownFields = new HashMap<>();}我的ObjectMapper配置了DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES = false.Json input: {"amount": 5000,"note" : "Amount is 5000" }在这种情况下,我需要将注释放在unknownFields Map中: 我正在寻找一些注释@OnUnknownProperties public void OnUnknownProperties(String name, String valu...

java – GSON – 反序列化原始数组【代码】

考虑一下这个简单的Json:{"test": [0,3] }现在我想在一个简单的int数组中反序列化它,所以我使用自定义反序列化器:class ArrayDeserializer implements JsonDeserializer<int[]> {@Overridepublic int[] deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {return context.deserialize(json.getAsJsonObject().getAsJsonArray("test"), int[].class);} }然后:Gson gs...

显式声明默认Java类序列化方法的原因是什么?【代码】

我定期看到具有以下结构的Java类:class MyClass implements Serializable {private static final long serialVersionUID = 1L;// ...private void writeObject(final java.io.ObjectOutputStream s) throws IOException {s.defaultWriteObject();}private void readObject(final java.io.ObjectInputStream s) throws IOException, ClassNotFoundException {s.defaultReadObject();}}据我所知,对于默认序列化,您只需要声明可序列化...

java – 使用Jackson反序列化包含在具有未知属性名称的对象中的JSON【代码】

我正在使用Jackson将JSON从ReST API反序列化为使用Jackson的Java对象. 我遇到的问题是,一个特定的ReST响应包含在由数字标识符引用的对象中,如下所示:{"1443": [/* these are the objects I actually care about */{"name": "V1","count": 1999,"distinctCount": 1999/* other properties */},{"name": "V2","count": 1999,"distinctCount": 42/* other properties */},...] }我的(可能是天真的)将JSON反序列化的方法一直是创建镜像...

java – 如何在序列化/反序列化JSON时擦除一种实例?【代码】

我使用fasterxml来序列化/反序列化JSONpublic class A {String field;B b; }public class B {int n; }我想以这样的格式获得JSON{"field": "abc","n": 123 }可能吗?解决方法:你可以简单地使用@JsonUnwrapped.无需自定义序列化程序:public class A {public String field;@JsonUnwrappedpublic B b; }public class B {public int n; }注意字段的可访问性,否则它将无法工作.

序列化 - 相关标签