検索

ホームページ  >  に質問  >  本文

java - 请问包含多项键值对的字符串怎么转成 List<Map<string,String>?

如 String:“{refer=1, servic=info}, {refer=2, service=client}, {refer=3, service=client}”

怎么才能转成 List<Map<string,String> 呢?
也不能 split(",") 因为字符串中 map 里也有逗号。希望得到大家的帮助!感谢!

迷茫迷茫2820日前670

全員に返信(3)返信します

  • ringa_lee

    ringa_lee2017-04-18 10:56:35

    最初は json オブジェクト + カンマの形式だと思っていましたが、正規表現を使用するか、パーサーを記述するとは予想していませんでした。

    {([a-zA-Z0-9_-,=.])}

    split(',')を繰り返してkvペアを取得します

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 10:56:35

    直接できないって本当ですかsplit(","),但是为什么不 split("},")

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 10:56:35

    この文字列は JSON のように見えるので、JSON に変換してから、必要な型に変換します。
    具体的な実装は次のとおりです:

    リーリー

    テスト済みで正しいです。

    返事
    0
  • キャンセル返事