1

已经解决了我的问题 - 可以删除帖子。谢谢大家的帮助。

我需要一些关于在 Java 中拆分字符串的帮助。我有一个这样的字符串:

{'key'=>value1,'key2'=>'value2','key3'=>{'innerKey1'=>'innerValue1'...} ...}

我需要拆分它,以便拥有 HashMap:

  1. 键->值1
  2. 键2->值2
  3. key3->(内部 HashMap 解析 {'innerKey1'=>'innerValue1'...})
  4. ...

当我尝试从 key3 解析值时,它应该会以同样的方式再次拆分它。内部元素可能有许多层次。我还需要它在键和值部分使用特殊字符,如 ' 或 \。我用过这样的东西:

result = string.split( ",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))" );

但我不知道如何将整体{...}视为价值而不是用逗号分隔。

我正在考虑为此使用 JSON,但也许有人知道一些正则表达式或小函数,它们比学习 JSON 库更快。

4

2 回答 2

0

您尝试解析的字符串肯定是 JSON。和 IMO,与其重新发明自己的 JSON 解析库,不如考虑使用:

1)杰克逊

2)谷歌-gson

我个人更喜欢杰克逊,因为它很简单。

于 2012-04-02T10:07:25.407 回答
0

您应该考虑使用parser

拆分很简单,在特殊情况下会失败。

并且解析器能够生成全面的错误消息。随着分裂你非常快非常迷失

于 2012-04-02T09:56:36.757 回答