ArrayList<String>型をJsonに変換したくてJacksonを使っているのですが、
サンプルを見ながら下記のようなコードを作ってみたのですがうまく動きません。
lang
1 List<String> list = new ArrayList<>(); 2 for(int i=0; i<100; i++) { 3 list.add("test" + Integer.toString(i)); 4 } 5 6 ObjectMapper mapper = new ObjectMapper(); 7 SimpleModule simpleModule = new SimpleModule(); 8 simpleModule.addSerializer(String.class, new StringSerializer()); 9 mapper.registerModule(simpleModule); 10 String json = mapper.writeValueAsString(list); 11 12 System.out.println(json);
出力されるエラー:
Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JavaType.isReferenceType()Z・・・
一応下記のように、Module登録すれば動くのはわかったのですが、
いちいちこんな登録をするのが面倒な上、
一つでも登録を忘れれば、エラーが起きてしまいます。
lang
1 List<String> list = new ArrayList<>(); 2 for(int i=0; i<100; i++) { 3 list.add("test" + Integer.toString(i)); 4 } 5 6 ObjectMapper mapper = new ObjectMapper(); 7//追加部分(StringSerializerはJacksonのデフォルトのもの) 8 SimpleModule simpleModule = new SimpleModule(); 9 simpleModule.addSerializer(String.class, new StringSerializer()); 10 mapper.registerModule(simpleModule); 11//ここまで 12 String json = mapper.writeValueAsString(list); 13 14 System.out.println(json);
そもそも、ネット上のサンプルはこんなことせずに動いています。
何かしら私の設定に見落としがあるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/12 05:30