Java 如何用gson解析这个

Java 如何用gson解析这个,java,nested,gson,Java,Nested,Gson,这是json数据(我无法控制) } 我一辈子都搞不懂如何构造类来存储它。 “668”(id num)是我的绊脚石 我知道请求帮助而不显示我尝试过的内容是不好的形式,但我尝试过的任何东西都无法接近,这只会占用大量空间而一事无成。您的类层次结构将具有以下框架 public class Holder { private Colors colors; } public class Colors { private Map<String, Item> map; } publ

这是json数据(我无法控制)

}

我一辈子都搞不懂如何构造类来存储它。 “668”(id num)是我的绊脚石


我知道请求帮助而不显示我尝试过的内容是不好的形式,但我尝试过的任何东西都无法接近,这只会占用大量空间而一事无成。

您的类层次结构将具有以下框架

public class Holder {
    private Colors colors;
}

public class Colors {
    private Map<String, Item> map;
}

public class Item {
    private String name;
    private int[] base_rgb;
    private Cloth cloth;
    ... // more
}

public class Cloth {
    private int brightness;
    private float contrast;
    private int hue;
    private float saturation;
    private float lightness;
    private int[] rgb;
}
公共类持有者{
私人色彩;
}
公共类颜色{
私人地图;
}
公共类项目{
私有字符串名称;
专用int[]基本rgb;
私服;
…//更多
}
公营服装{
亮度;
私人浮动对比;
私人内部色调;
私有浮动饱和;
私家浮动轻巧;
私人互联网【】rgb;
}
您将需要为
金属
皮革
以及其他物品设置类

上面的类
Holder
将被序列化为您发布的JSON。如果您不想将字段命名为
base\u rgb
(不符合约定),则可以使用库特定的注释,如
@JsonProperty
(非Gson)和
name
属性,为字段指定JSON名称,并根据需要命名字段


Gson还提供了一个and
JsonDeserializer
来真正定制序列化/反序列化。

在使用json simple进行了尝试并在第一次尝试中成功后,我最终放弃了Gson。
public class Holder {
    private Colors colors;
}

public class Colors {
    private Map<String, Item> map;
}

public class Item {
    private String name;
    private int[] base_rgb;
    private Cloth cloth;
    ... // more
}

public class Cloth {
    private int brightness;
    private float contrast;
    private int hue;
    private float saturation;
    private float lightness;
    private int[] rgb;
}