我定义了以下类:
public class ClassObjectTwo {
Long a;
Long b;
}
public class ClassObjectThree{
Long c;
Long d;
}
public class ClassObject{
private final ClassObjectTwo obj1;
private final ClassObjectTwo obj2;
private final ClassObjectTwo obj3;
private final Multimap<String, ClassObjectThree> obj4;
}
ClassObject classObj;
Gson gson = new Gson();
String jsonString = gson.toJson(classObj);
return jsonString;
JsonString不返回任何内容,如何定义要转换为JSON字符串的对象的对象?
如何在此处使用InstanceCreator?
答案 0 :(得分:0)
不确定,这里的问题是什么,当您说时,它什么也没返回。尝试使用GsonBuilder。
您可以使用-GsonBuilder,并启用如下的complexMapKeySerialization。
Gson gson = new GsonBuilder().registerTypeAdapter(Instant.class, new InstantConverter()).enableComplexMapKeySerialization()
.setPrettyPrinting().create();
由于Gson使用toString()方法来形成JSON,因此请确保使用它们。
public class ClassObject{
private final ClassObjectTwo obj1;
private final ClassObjectTwo obj2;
private final ClassObjectTwo obj3;
private final Multimap<String, ClassObjectThree> obj4;
@Override
public String toString() {
return new ToStringBuilder(this)
.append("obj1", obj1)
.append("obj2", obj2)
.append("obj3", obj3)
.append("obj4", obj4)
.toString();
}
}