java - 在 Java 中使用 org.json.simple 解析不带引号的 JSON 键

标签 java json

我有一个存储在字符串中的 JSON。

String data = "{code: '0', distCode: '123'}";

我需要获取代码 distCode 的值。但是当我尝试按如下方式解析它时

JSONParser parser = new JSONParser();
JSONObject Details = (JSONObject) parser.parse(data);

位置 2 处出现意外字符 (c),引发异常。

我确定这是因为字符串中未加引号的键。如何使用 org.json.simple 库将字符串解析为 JSON 对象?

最佳答案

无法找到使用 org.json.simple 库实现它的方法。最后使用 jackson 库完成了。

    String data = "{code: '0', distCode: '123'}";
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);                               
    mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
    Map<String, String> Shop_Details = mapper.readValue(data), Map.class);

关于java - 在 Java 中使用 org.json.simple 解析不带引号的 JSON 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61285407/

相关文章:

ios - 从 JSON 图像 url swift 填充 collectionView

java - 如何在 Maven 管理的框架中修补子组件?

java - 设置堆栈 Pane 中 Pane 的对齐方式

java - Tomcat9 org.apache.tomcat.jdbc.pool.ConnectionPool.init 忽略自定义DataSource

javascript - Django + Ajax返回数据报错

json - 由于 SAPUI5 1.34 中的 JSONModel 已弃用 getData() 那么如何获取/更新模型?

java - Hibernate二级缓存进阶知识

java - 如何确保在 Apache Tomcat 中运行的 Spring Boot 应用程序中替换了环境变量占位符?

jquery - 重新格式化 JSON 对象

node.js - 如何使用 json-server 部署reactJS应用程序