在Java中有没有什么类型可以让这样定义字典?

在Java中有没有什么类型可以让这样定义字典?这样会很简单方便,比如,js,python这样写很方便 。

policy = {
    "expiration":"2021-02-02T12:00:00Z",
    "datas":[["content-range",0,18576000]]
}
阅读 2.2k
4 个回答
@Data
public enum Policy{
    private final Date expiration;
    private final List<List<?>> data;
}
新手上路,请多包涵

String[] datas={"content","content","18576000"};
Map<String, Object> map = new HashMap<String, Object>() {

        {
            put("expiration", Integer.parseInt("2021-02-02T12:00:00Z"));
            put("datas", datas);
        }
    };

使用 guava 你可以这样做:

import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;

Map<String, ?> map = ImmutableMap.of(
    "expiration", "2021-02-02T12:00:00Z",
    "datas", Lists.newArrayList(Lists.newArrayList("content-range", 0, 18576000))
);

JDK9以上

final Map<String, Object> map = Map.of("expiration", "2021-02-02T12:00:00Z",
                "datas", List.of(List.of("content-range", 0, 18576000)));

image.png

推荐问题