【问题标题】:Java - How to convert values within JSON String (remove quotes on non-strings)?Java - 如何转换 JSON 字符串中的值(删除非字符串的引号)?
【发布时间】:2016-02-08 17:25:14
【问题描述】:

我有一个字符串,代表一个 JSON,例如

      {"someId":"2130706433","someValue":"Android","networkId":"0","someTag":"true", ...}

现在我想删除引号,但仅限于我可以删除的地方(数字和布尔值)。我怎样才能最好地做到这一点(在 Java 中)?

结果应如下所示:

       {"someId":2130706433,"someValue":"Android","networkId":0,"someTag":true, ...}

感谢您的帮助:)

【问题讨论】:

  • 为什么不选择使用jackson或java api将其转换为对象?
  • 尝试将其解析为 JSONObject,然后根据您的喜好将其转回字符串。我更喜欢使用 JSONSimple,但这由您决定:-) 编辑:可能有一种我不知道的通过正则表达式来完成的方法。
  • 如果我转换为一个对象,问题是,由于值被引用,它仍然被识别为一个字符串,无论那里实际是什么数据类型

标签: java json


【解决方案1】:

您可以通过一个相当简单的正则表达式替换来做到这一点:

jsonString.replaceAll("\"([0-9]+|true)\"", "$1");

如果要替换引号中的每个数字和布尔值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    相关资源
    最近更新 更多