【Java对象的序列化和反序列化】教程文章相关的互联网学习教程文章

Java“设置对象”,序列化/反序列化【代码】

(代码是针对Android的,实际上,我需要在Android和Java SE之间可移植的代码.) 我想要一个具有各种游戏设置的“设置”类,例如public int map_size; public String server_name;等等 需要相当频繁地访问数据(因此需要访问成员,而不是键值映射),并需要以某种标准方式不时对它进行反序列化(主要是通过网络发送). 我希望能够 >将对象序列化和反序列化为XML或JSON,而不必显式地为每个成员编写代码(但仍可以对格式进行某种程度的控制).>定义...

我可以在Java中GSON反序列化包含连字符的变量名称吗?【代码】

我在我的应用程序中使用GSON.我有以下JSON响应:{"success":true,"person-name": "John" }因此,我正在创建一个像这样的类:class Person {boolean success;String person-name; }但是,我无法创建可变的人名.我该如何解决?解决方法:选择一个有效的Java标识符,并使用@SerializedName批注告诉GSON相应的JSON属性的名称:import com.google.gson.annotations.SerializedName;class Person {boolean success;@SerializedName("person-n...

序列化PHP =>以字符串格式反序列化JAVA / Serialize for php【代码】

我有一个这种格式的PHP数组:<?php $value = array("id" => 42, "user" => "superman"); echo serialize($value); ?>序列化:a:2:{s:2:"id";i:42;s:4:"user";s:8:"superman";} 我在java中将它接收到一个String中.我怎么做在java中反序列化这个?我知道java中的实现Serializable但在这种情况下不起作用. 我想以这种格式创建一个对象:import java.io.Serializable;public class Serial implements Serializable{private int mId;pr...

java – 从xstream反序列化xml文件【代码】

我正在使用Xstream来序列化Job对象.它看起来很好用. 但是反序列化,我有一个问题:Exception in thread "main" com.thoughtworks.xstream.io.StreamException: : only whitespace content allowed before start tag and not . (position: START_DOCUMENT seen .... @1:1) at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:78)at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(Abs...

java – LocalDateTime – 使用LocalDateTime.parse进行反序列化【代码】

我有字段initiateDate,它由ToStringSerializer类序列化为ISO-8601格式.@JsonSerialize(using = ToStringSerializer.class) private LocalDateTime initiationDate;当我收到以下JSON时... "initiationDate": "2016-05-11T17:32:20.897", ...我想通过LocalDateTime.parse(CharSequence text)工厂方法对其进行反序列化.我的所有尝试都以com.fasterxml.jackson.databind.JsonMappingException结束:Can not instantiate value of type ...

java – 为什么我不能打开根节点并反序列化一个对象数组?【代码】

为什么我无法通过展开根节点来反序列化对象数组?import java.io.IOException; import java.util.Arrays; import java.util.List;import org.codehaus.jackson.map.DeserializationConfig; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.annotate.JsonRootName; import org.junit.Assert; import org.junit.Test;public class RootNodeTest extends Assert {@JsonRootName("customers")public s...

java – Spring MVC,反序列化单个JSON?【代码】

如何轻松分离在同一请求中发送的JSON值? 鉴于我将JSON发布到我的服务器:{"first":"A","second":"B"}如果我在Controller中实现以下方法:@RequestMapping(value = "/path", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) public void handleRequest(@RequestBody String input) { // ... }然后输入参数将构成一个包含整个JSON对象的String,{“first”:“A”,“second”:“B”}.我真正想要的是两个...

java – 当Gson反序列化JSON时,是否可以使用setter?【代码】

有没有办法在使用Gson的fromJson方法时使用给定类的set方法? 我想这样做是因为对于目标类的每个String全局变量都进行了修剪. 是否有任何GSON API注释? 我知道GSON提供了编写自定义序列化器/反序列化器的能力,但我想知道是否有另一种方法来实现这一点.解决方法:我实现了一个JsonDeserializer< String>并在GsonBuilder上注册.因此,对于收到的所有String字段,Gson将使用我的StringGsonTypeAdapter来反序列化该值. 以下是我的代码:i...

java – 如何使用GSON反序列化Map【代码】

我是GSON的新手,并获得了这种格式的JSON响应(只是一个更简单的例子,因此值没有意义):{"Thomas": {"age": 32,"surname": "Scott"},"Andy": {"age": 25,"surname": "Miller"} }我希望GSON使它成为一个Map,PersonData显然是一个Object.名称字符串是PersonData的标识符. 正如我所说,我对GSON很新,只尝试过类似的东西:Gson gson = new Gson(); Map<String, PersonData> decoded = gson.fromJson(jsonString, new TypeToken<Map<String...

java – 使用泛型类型和通用字段名称的GSON反序列化【代码】

假设我们有这样的结构: JSON:{"body": {"cats": [{"cat": {"id": 1,"title": "cat1"}},{"cat": {"id": 2,"title": "cat2"}}]} }和相应的POJO: Response.class 私人最终身体; Body.class 私人最终收藏< CatWrapper>猫 CatWrapper.class 私人决赛猫猫 Cat.classprivate final int id; private final String title;但是,现在我们说我们有相同的结构,但我们收到卡车而不是Cat{"body": {"trucks": [{"truck": {"id": 1,"engine": "bi...

java – Jackson动态过滤反序列化过程中的属性【代码】

我有一个REST WS来更新一个bean对象,它接收一个JSON字符串作为输入.ABean entity = svc.findEntity(...); objectMapper.readerForUpdating(entity).readValue(json); [...] svc.save(entity);ABean是一个包含其他对象的复杂类型,例如:class ABean {public BBean b;public CBean c;public String d; }svc.save(…)将保存bean和嵌入对象. 出于安全原因,我想过滤掉一些可以通过JSON字符串更新的属性,但我想动态地执行此操作,以便对于...

java – 具有未知动态属性的Jackson反序列化【代码】

我有一个JSON字符串,如:"shipping_profiles": {"563": {"name": "name","value": "value" },"564": {"name": "name","value": "value" },"565": {"name": "name","value": "value" },"566": {"name": "name","value": "value" } }现在我用Jackson 2.0解析它.我想获得一个List< shipping_profiles>来自JSON字符串. 可能吗?解决方法:您的shipping_profiles属性看起来不像数组.它表示具...

使用JacksonMapper反序列化Java 8 LocalDateTime【代码】

我已经阅读了几个问题,其中有关于java.time.LocalDateTime和JSON属性之间的序列化和反序列化的SO,但我似乎无法让它工作. 我已经设法配置我的Spring Boot应用程序以我想要的格式返回日期(YYY-MM-dd HH:mm),但我在JSON中接受这种格式的值时遇到问题. 这些是我到目前为止所做的所有事情: 为jsr310添加了maven依赖:<dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jsr310</artifactId>...

java – 让杰克逊到处使用自定义反序列化器(对于不属于我的类型)【代码】

我正在尝试设置Jackson JSON自定义反序列化器以将JSON值转换为Long对象.我按照本网站上的说明操作:http://wiki.fasterxml.com/JacksonHowToCustomDeserializers以设置自定义反序列化程序. 但是,为了启动自定义反序列化器,我必须每次都注释例如public class TestBean {Long value;@JsonDeserialize(using=LongJsonDeserializer.class)public void setValue(Long value) {this.value = value;}}有没有办法告诉Jackson总是使用自定义...

使用Gson反序列化Java 8 LocalDateTime【代码】

我有一个日期时间属性的JSON,格式为“2014-03-10T18:46:40.000Z”,我想使用Gson将其反序列化为java.time.LocalDateTime字段. 当我尝试反序列化时,我收到错误:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING解决方法:当您反序列化LocalDateTime属性时发生错误,因为GSON无法解析属性的值,因为它不知道LocalDateTime对象. 使用GsonBuilder的registerTypeAdapter方法定义自定义LocalDateTime适配器.以下代...

反序列化 - 相关标签