我有两个课程如下
class Rules{
@JsonProperty("rules")
Rule [] rules
}
class Rule{
@JsonProperty("a1")
String attrubite1;
}
我使用json将其序列化并生成
之类的东西{
"rules": [{
"a1": "somedataForRule1"
}, {
"a1": "somedataforTule1"
}]
}
我希望json像
{
"rules": ["rule":{
"a1": "somedataForRule1"
},
"rule":{
"a1": "somedataforTule1"
}]
}
我该怎么做?
我的代码:
Rules rules = new Rules();
rules.setRules(new Rule[]{r1,r2});
Strings = objectMapper.writeValueAsString(rules);
答案 0 :(得分:1)
在数组中,我们不能拥有密钥。数组只有索引作为键 所以以下是无效的json
[
"a": {...}
]
要拥有密钥,我们需要一张地图。所以以下内容是有效的。
{
"a": {...}
}
所以你想要的是不可能的,因为你要求杰克逊创造无效的json。解决这个问题的唯一方法就是创建自己的实用程序。
修改
你确定它的无效json吗?