我使用Jackson来创建JSON文件,然后将其转发到外部REST服务。我花了几个小时才发现该服务对JSON文件的格式非常敏感。
这被接受:
[
{
"email": "foo.bar1@domain.com"
},
{
"email": "foo.bar2@domain.com"
}
]
不接受(这是Jackson漂亮打印机的默认行为),并导致REST调用失败:
[ {
"email": "foo.bar1@domain.com"
}, {
"email": "foo.bar2@domain.com"
} ]
我可以配置Jackson使用其他格式吗?让我强调一下:我知道接收REST服务的作者应该解决此问题,但这超出了我的范围。
在杰克逊(Jackson)的自定义“漂亮打印机”领域,例如this one等存在问题。但是也许已经有一个习惯了。
答案 0 :(得分:0)
根据要求进行更新。
如果您打开另一个图书馆,请使用Gson来获得期望的结果。
Emp emp = new Emp(1);
List<Emp> emps = new ArrayList<>();
emps.add(emp);
emps.add(emp);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(emps));
输出:
[
{
"id": 1
},
{
"id": 1
}
]
class Emp {
int id;
public Emp() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Emp(int id) {
this.id = id;
}
}