【问题标题】:How to convert complex Object to Json String如何将复杂对象转换为 Json 字符串
【发布时间】:2019-05-08 21:20:04
【问题描述】:

我定义了以下类:

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 没有返回任何东西,如何定义对象的 Object 以转换为 JSON 字符串?

这里如何使用InstanceCreator?

【问题讨论】:

    标签: json object gson multimap


    【解决方案1】:

    不完全确定,这里的问题是什么,当你说它没有返回任何东西时。尝试使用 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();
        }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 2018-06-28
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多