1

Gsonライブラリを使用してこの誤った(私が思う)JSONを解析するにはどうすればよいですか?

   {
    ......
       "phones":{
           "155193":"5556739386",
           "155194":"5555301828"
       }
     ......
   }

文字列155193155194はサーバーからのランダムな値です。

使用する必要がありますHashMapか、または何かアイデアがありますか?

4

2 に答える 2

1

この状況では、それは私を助けました:

  public class ServerResponse {
     ...
     private HashMap<String, String> phones;
     ...
  }
于 2013-02-12T00:12:14.837 に答える
1

あなたの答えは確かに正しいです(それを受け入れたものとしてマークすることを忘れないでください!)、しかし私は答えの形で書いた2つのメモを持っています。

まず、この方法でも使用できる場合:

  public class ServerResponse {
     ...
     private Object phones;
     ...
  }

いずれにせよマップを受け取ります。もちろん、この場合はキャストが必要です。したがって、ソリューションの方が優れています。ただし、サーバーから電話のリストが送信された場合は機能します(もちろん、コードでは、JSONParsingException

次に、JSONは無効ではありません。これを見ると、正しく解析されていることがわかります。ここで機能しないのは、POJOアプローチに従って解析できないことです。1つの方法はあなたが答えたようなものです、別の可能性はあなたを元に戻すアダプターを書くことです..マップ。したがって、大したことではありません。Gsonに状況を処理させる方がよいでしょう。

于 2013-11-12T06:56:50.667 に答える