【发布时间】:2019-04-19 17:31:23
【问题描述】:
我从 rest 调用中得到一个 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);
String finalJsonString = jsonObject.toString();
这是返回响应为 "{\"d1\":1, \"d2\":1, \"d3\":0, \"d4\":1}" 开头带有双引号并在键的双引号之前以反斜杠结尾。
【问题讨论】:
-
您存储在 db 中的字符串不是 JSON。所以很自然,将其解析为 JSON 是行不通的。
-
jsonlint.com你需要检查你的json,
-
存储在数据库中的字符串看起来像
AbstractMap.toString()的结果。寻找一种方法来解析它。
标签: java spring-boot