用它周围的引号解析json数组

时间:2016-03-08 11:09:28

标签: java json jackson gson

我正在调用第三方API并作为响应接收下一个字符串:

"[{\"name\":\"name\",\"id\":1}]"

我认为它不是有效的json,因为它引用了它。有可能以某种方式将它映射到具有jacksongson库的java对象吗?

或者无论如何我应该编写自定义转换器/解串器?

1 个答案:

答案 0 :(得分:0)

您不需要自定义转换器或反序列化器。你当然可以写一个,但我不鼓励你这样做。明确这里发生的事情,特别是当你在团队中工作时。这是另一方有问题,他们没有输出有效的JSON。

杰克逊用这种方式反序列化他们的输出:

ObjectMapper mapper = new ObjectMapper();
String json = theirOutput.substring(1, theirOutput.length - 1);
Object myObject = mapper.readValue(json, MyObject.clas);

在上面提供一些文档,为什么你这样做,所以每个人都明白这里发生了什么。在我看来,这是一个比编写自定义转换器或解串器更清晰的解决方案。