2

JSONをJavaオブジェクトに解析(および作成)するためにさまざまなJSON-Librariesを使用しているさまざまな記事、比較、およびチュートリアルをたくさん読みました。いずれにせよ、 Jacksonという JSON ライブラリを使用することにしたので、事実は正しいと思います。

GSONはシンプルで堅牢ですが、私によれば遅くなります。それで、私は実際にこのジャクソンのことを試してみることにしましたが、解析はGSONよりもここで少し混乱しているようです.

解析したい値のデータ型は単純にBooleanです。

解析しようとしている JSON は次のようになります。

{"FooResult":true}

したがって、実際に助けが必要なのは、キーから値を選択し、FooResultその値をブール値に解析することです。

これは私がこれまでに行ったことです:

String json = getString(request);
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(json, Boolean.class);

FooResultしかし、このコードは明らかに、ブール値への読み取りと解析に関心のあるキーであることを選択していないため、エラーが発生します。

4

2 に答える 2

5

次のような新しいクラスを作成する必要があります。

class MyClass {
   public boolean FooResult;
}

そして、次のコードを使用してデータをロードします。

MyClass myObject = mapper.readValue(json, MyClass.class);

次に、値にアクセスできますmyObject.FooResult

于 2012-11-02T23:13:49.450 に答える
0

わかりました、これは不自由です。私がそれについて再考するとき、さらにラメ。ずっと問題だったのは、解析したいオブジェクトのクラスがstaticである必要があるということです。今日この質問を投稿する前に、サイモンが提案したことを4〜5回試しましたが、常に問題はクラスがstaticではないことでした。

だから今、それは最終的に動作します。

static class FooClass
{  
    public boolean FooResult; 
}

そして、解析プロセスのために。

String json = getString(request);
ObjectMapper mapper = new ObjectMapper();
FooClass fooClass = null;
try 
{
    fooClass = mapper.readValue(json, FooClass.class);
}
boolean result = fooClass.FooResult;
于 2012-11-02T23:48:31.343 に答える