有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java解析json数组并在其周围加引号

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

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

在我看来,它不是有效的json,因为它周围有引号。是否有可能通过jacksongson库将其映射到java对象

或者无论如何,我应该编写自定义转换器/反序列化器


共 (1) 个答案

  1. # 1 楼答案

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

    使用Jackson,通过以下方式反序列化其输出:

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

    在你为什么这样做上面放一些文档,这样每个人都能理解这里发生了什么。在我看来,这是一个比编写自定义转换器或反序列化程序更干净的解决方案