对象内部的对象与改造

时间:2015-09-02 14:43:27

标签: android arrays json retrofit

我需要像下一个发送@Body:

{
  "test": "test",
  "test2": {
       "test2": "test2",
       "test2": "test2",
  },
  "test3": {
       "test3": "test3",
       "test3": "test3",
  },
}

我是改造的新手,我知道如何创建简单的@Body对象,但是如何在对象中创建对象 - 我不知道。

任何帮助都会很高兴!

1 个答案:

答案 0 :(得分:1)

只需为这些内部对象创建类,并将它们聚合到一个对象中:

class TestWrapper {

    @Expose
    String test;

    @Expose
    Test2 test2;

    @Expose
    Test3 test3;
}

class Test2 {

    @SerializedName("something_name") // <- this will be the JSON key name
    @Expose
    String something;

    @SerializedName("something_else_name")
    @Expose
    String somethingElse;
}

等。 然后传递TestWrapper对象作为请求@Body。 另外,在你的JSON中,你没有将两个对象命名为相同(&#34; test2&#34;,&#34; test3&#34;) - 你不能这样做,键必须是唯一的。 此代码中的注释是GSON库注释: @Expose@SerializedName