1

すでに私の問題を修正しました-投稿は削除できます。助けてくれてありがとう。

Javaで文字列を分割するのに助けが必要です。私はこのような文字列を持っています:

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

HashMapを使用できるように分割する必要があります。

  1. キー->値1
  2. key2-> value2
  3. key3->(解析された{'innerKey1' =>'innerValue1' ...}を使用した内部ハッシュマップ)
  4. ..。

key3から値を解析しようとすると、同じ方法で再度分割されるはずです。内部要素には多くのレベルがあります。また、キーと値の部分で'や\などの特殊文字を処理するためにも必要です。私はこのようなものを使用しました:

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

{...}しかし、全体をコンマで分割せずに値として扱う方法がわかりません。

これにJSONを使用することを考えていますが、JSONライブラリを学習するよりも高速な正規表現や小さな関数を誰かが知っているかもしれません。

4

2 に答える 2

0

むしろパーサーを検討する必要があります。

分割するのは簡単で、特別な場合には失敗します。

また、パーサーは包括的なエラーメッセージを生成できます。分割すると、あなたは非常に速く非常に失われます

于 2012-04-02T09:56:36.757 に答える
0

解析しようとしている文字列は間違いなくJSONです。また、IMOは、独自のJSON解析ライブラリを再発明する代わりに、次の使用を検討してください。

1)ジャクソン

2)google-gson

個人的にはジャクソンが好きです。シンプルだからです。

于 2012-04-02T10:07:25.407 に答える