java - 无法使用 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}" 开头和结尾的双引号键的双引号前的反斜杠。
解决方案
您可以执行以下操作:
ObjectMapper mapper = new ObjectMapper();
try {
MyResponse result = mapper.readValue(e.getResponseBodyAsString(),MyResponse.class);
return result;
} catch (IOException e1) {
e1.printStackTrace();
}
推荐阅读
- python - 使用 Python 自定义 json 序列化/反序列化
- node.js - 控制器没有按预期工作
- ios - 使用 ARKit 和 LiDAR 扫描物体并获取所述物体的尺寸
- scala - 在 Spark Scala 中计算过去 3 个值的平均值
- ios - Apple 的操作系统中实现的这四个伊斯兰日历是什么?
- bash - 如何将给定的字符串与 bash 中的多行文本进行比较?
- javascript - 何时在 Javascript 中设置调用堆栈?
- android - 如何从项目列表中删除项目详细信息
- android-studio - Horizontal RecyclerView 中的适配器代码错误
- php - PHP 7.3.2 shell_exec 输出突然停止工作