2017-08-05 10 views
0

でJSONを生成できません私は、次の層を有するいくつかのコードを持っている8080/testreactproject /ユーザー/すべてという名前のルート要素

[{"id":1,"firstName":"John","lastName":"Doe","age":28,"code":916},{"id":2,"firstName":"Jane","lastName":"Doe","age":27,"code":985}] 

しかし、私は

私のpom.xmlファイルにルート要素

{"users":[{"id":1,"firstName":"John","lastName":"Doe","age":28,"code":916},{"id":2,"firstName":"Jane","lastName":"Doe","age":27,"code":985}]} 

dependecyのこの1で次のJSONを取得したいです私は、コントローラクラス(メソッドのgetAllUsers)にこのコードを追加しようとしましたが、それは動作しません私はObjectMapperクラスのインスタンスを作成し、次の方法

mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true) 

このインスタンスを設定する必要があることを知っている

<dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-mapper-asl</artifactId> 
     <version>1.9.10</version> 
</dependency> 

私のために。 どうすれば間違っていますか?

+0

「私にとってはうまくいかない」ということを説明する必要があります。 – Markus

+0

[クラス名をJSONジャクソンのシリアル化のルートキーとして使用する]の可能な複製(https://stackoverflow.com/questions/2435527/use-class-name-as-root-key-for-json-jackson-serialization) –

+0

さて、私は言います。「うまくいかない」 – Andrew

答えて

0

問題が解決しました。クラスUser(entity layer)のクラスラッパーを作成し、ラッパーのルート要素をバインドしました。だから私は正しいjsonオブジェクトを得ました。 それは次のようになります:

@JsonRootName(value = "users") 
public class UsersWrapper { 
    private List<User> users; 

    public List<User> getUsers() { 
     return users; 
    } 

    public void setUsers(List<User> users) { 
     this.users = users; 
    } 
} 
関連する問題