情况:
stringscurrently errordisabling Objects (.com.package.model)存储在SQLite数据库中,因为Gson没有添加任何保护异常,在更新版本后,应用程序会在play store上发布,应用程序会以“预期的begin数组但找到字符串”的方式崩溃,或者在这两个版本中添加异常使错误随着应用程序的发布而消失,有人知道如何将旧apk映射到新的apk吗?我愿意付你一杯咖啡;)
使用的例外情况:
# Gson uses generic type information stored in a class file when working with
鉴于以下结构:
abstract class Message {
Message anotherMessage;
String attribute; //just random stuff
}
我希望有以下json-string作为输出:
{type=Class.getSimpleName(), data=gson(Message)}
因为消息是抽象的,可以有多个实现。问题是,"anotherMessage“不会有结构类型,数据。
序列化的实现:
public JsonElement serialize(final Message src, final Type typ
我使用gson反序列化小部件层次结构,但在反序列化最终字段时遇到问题。
示例:
public final class Screen{
@Expose
private final List<WidgetDefinition> children = null;
@Expose
private final String name = null;
}
public final class AWidget implements WidgetDefinition {
@Expose
private final
序列化它,会导致StackOverFlowError:
import java.nio.file.Path;
import java.nio.file.Paths;
public class Tmp{
private Path path=null;
public Tmp() {
path=Paths.get("c:\\temp\\");
}
}
对我来说,它看起来像一个bug!还是我做错了什么?是否有解决方法(除了编写一些自定义的序列化程序将路径转换为字符串)
java.lang.StackOverflowError
at co
我尝试使用google.gson.GsonBuilder序列化对象,如下所示:
public class JsonHelper
{
public static String ToJson(Object o, Type oType)
{
Gson gson = new().setPrettyPrinting().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create();
gson.toJson(o, oType);
}
}
public class JsonTest
{
我想序列化特定字段或类的空值。
在GSON中,选项serializeNulls()适用于整个JSON。
示例:
class MainClass {
public String id;
public String name;
public Test test;
}
class Test {
public String name;
public String value;
}
MainClass mainClass = new MainClass();
mainClass.id = "101"
// mainClass has
我有课
public class PlayerData {
public boolean hasIsland = false;
public int genProgress = 0;
public SimpleLoc islandLocation = null;
...
}
我想将它序列化为JSON:
public class PlayerData {
...
public String serialize() {
return new Gson().toJson(this);
}
}
这只会序列化hasIsland和genProgress字段。如
我需要在JSON中呈现对象并将它们发送到客户端,但由于显而易见的原因,我需要排除电子邮件和密码等字段。
我知道play使用GSON (由google?)并且可以在调用renderJSON()方法时传递序列化程序类。但是,我使用容器类一次呈现不同类型的类:
public class JSONContainer {
public List<User> userList;
public List<Toy> toyList;
}
对于每个类,都可以创建一个实现GSON的JsonSerializer<...>方法的序列化程序类。但是,如果我像这样
我试图使用Gson()将kotlin对象类转换为JSON字符串,但它返回了null,而as对象字段实际上保存了这些值。如果它是一个单例对象,为什么不能直接使用将其转换为JSON字符串呢?
val gson = Gson()
val dummy= Dummy
val objDummy = gson.toJson(dummy)
object类:
object Dummy: Serializable{
var test2: String? = "test2"
var blank: String? = null
var test1: String? =
我知道这是设计上的谬误,但我必须面对它。在父类和其子类中都声明相同的字段。但是,在序列化的同时,如果设置了子程序,我希望只包括它。
class Parent {
private int field;
}
class Child extends Parent {
private int field;
}
public class Main{
public static void main(String[] args){
Gson gson = new Gson();
Child child = new Child();
我有一个要使用Gson序列化的对象
class User {
String firstname;
String lastname;
JsonElement opaqueData;
}
在顶层对象级别,我希望Gson忽略null字段(例如,如果lastname是null,则不应该序列化)。
但是在字段opaqueData中,我希望序列化nulls,因为它应该是一个不透明的数据块。因此,使用new GsonBuilder().serializeNulls().create().toJson(user)是行不通的。
但是@JsonAdapter也不起作用
class User
这是我的java对象:
public class Photo {
private String date;
private GPS gps;
private long task_id;
private long pgo_id;
private long load_id;
private long com_id;
private long note_id;
private String note;
private String path;
}
public class GPS {
private double lo
在使用Jackson序列化对象时,我遇到了一个问题。文件中缺少子类中的字段。我尝试过Gson,但也遇到了同样的问题。有人能帮我吗?谢谢。
public class A extends ArrayList<B>{
public String name;
public A(){
}
//getter and setter
}
A a = new A();
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(file, a);
文件包含B中的所有字段,但不包含A中的字段。
我有一个基类(只读)来从外部API获取数据:
public class Manager {
// so many fields
public User user;
// ...
}
由于字段用户丢失了一些字段,所以我需要创建新的用户类。
public class NewUser extends com.readonly.User {
public String avatarUrl;
public String fullname;
public String address;
// ....
}
然后创建NewManager并使用它从API获取数据。
pu
在GSON library中是否有一个选项(除了编写自定义序列化程序/反序列化器)到而不是序列化/反序列化,超出了某个扩展类的级别。
例如,请参见下面的usecase
class FirstClass {
int firstVariable;
}
class SecondClass extends FirstClass {
int secondVariable;
}
class ThirdClass extends SecondClass {
int thirdVariable;
}
现在,在使用fromJson和toJson时,我只想序列化/反序列化层次结构中的前
我使用SpringBoot、Spring Data和MongoRepository来存储和检索对象。
在使用MongoRepository时,有没有办法提供一个自定义的json反序列化器(最好是GSON,它可以做一些额外的工作,而不是内部的反序列化器)?
例如,我调用:
Data data = repo.findOne(id); // where repo is a MongoRepository
我希望数据以自定义方式设置一些额外的字段(称为派生字段值)。当然,我可以直接在上面的数据对象上设置派生字段,但如果我可以在检索时挂接一个反序列化程序,就会更简洁。
例如,在没有spring数据的情况
我对Gson和Json很陌生。在Gson的帮助下,我想通过Json序列化一些简单的事件。
注:代码为Kotlin。
public abstract class Event() {
}
public class Move : Event() {
var from: Point? = null
var to: Point? = null
}
public class Fire : Event() {
var damage: Int = 0
var area: ArrayList<Point> = Arr