为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java 中解析多维 JSONString

如何在 Java 中解析多维 JSONString

梦里花落0921 2021-10-06 10:14:53
我有一个 JSON 格式String,它有一个单一的键值对,其中Map包含String各种类型的键和值,如下所示:"{"Key":"value","Map":{"key1":"val1","key2":"val2",...}}"我想要做的是将其转换String为 a JSONObject(因为我有其他可以轻松解释 a 的代码JSONObject)。我的第一直觉是使用解析器 ( JSONParser) 就像下面的代码片段...JSONParser parser = new JSONParser();Object o = new JSONParser();o = (JSONObject) parser.parse(jsonStr);JSONObject j = (JSONObject) o;…但我得到了一个ParseException而不是方便的JSONObject. 这是为什么?我应该String区别对待,因为它有Map内部吗?还是我在做超出 a 能力的事情JSONParser?
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

...但我得到了一个ParseException而不是方便的JSONObject. 这是为什么?

如果你有一个ParseException,那意味着你认为 JSON 是(实际上)不是有效的 JSON。这不是您的解析代码或JSONObject解析器的问题。这要么是(假设的)JSON 最初生成方式的问题,要么是到达应该解析它的代码的“通道”。


我应该以不同的方式对待字符串,因为它里面有一张地图吗?

不。

我注意到您的示例代码片段不够清晰/完整,无法准确说明您在做什么。(将来,请提供一个真正的MCVE而不是没有多大意义的代码片段1 ... 并且肯定无法编译和运行。)但是没有任何迹象表明代码是导致的ParseException

还是我在做超出 a 能力的事情JSONParser

不。JSON 解析器可以处理任何格式良好的JSON 。


要解决这个问题,您需要找出解析器认为您的 JSON 不好的原因,然后回到问题的根本原因。


1 - 例如,为什么要将JSONParser对象分配给类型为 的变量Object


查看完整回答
反对 回复 2021-10-06
  • 1 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信