首页 > 解决方案 > 无法使用 Java 将字符串转换为 JSON

问题描述

我从休息调用中得到一个 json {"d1":1, "d2":1, "d3":0, "d4":1} 存储在 db 中 - {d1=1, d2=1, d3=0,d4=1}。

当我从数据库中读取时,我将上述内容作为字符串 - {d1=1, d2=1, d3=0, d4=1}。我想像以前一样将其转换为原始形式 - {"d1":1, "d2":1, "d3":0, "d4":1} 上面提到的。

我怎样才能在java中实现这一点。有没有可用的 json 库来做到这一点?

到目前为止,我已经尝试过,但没有成功-

JSONParser 解析器 = 新 JSONParser(); JSONObject json = (JSONObject) parser.parse(jsonString);

我想把这个 json 放在 ResponseEntity> 中。

即使我尝试过-

jsonString = jsonString.replaceAll("=", ":"); JSONObject jsonObject = new JSONObject(jsonString);

字符串 finalJsonString = jsonObject.toString();

这将返回响应为 "{\"d1\":1, \"d2\":1, \"d3\":0, \"d4\":1}" 开头和结尾的双引号键的双引号前的反斜杠。

标签: javaspring-boot

解决方案


您可以执行以下操作:

ObjectMapper mapper = new ObjectMapper();
            try {
                MyResponse result = mapper.readValue(e.getResponseBodyAsString(),MyResponse.class);
                return result;
            } catch (IOException e1) {
                e1.printStackTrace();
            }

推荐阅读