#JavaのListをjsonに変換したいです
javaのListをjsonに変換しようと思い以下のコードを実行しました。
java
1import org.springframework.beans.factory.annotation.Autowired; 2import org.springframework.stereotype.Service; 3 4import com.fasterxml.jackson.core.JsonProcessingException; 5import com.fasterxml.jackson.databind.ObjectMapper; 6import com.fasterxml.jackson.databind.SerializationFeature; 7 8import java.util.List; 9 10import domain.model.Matching; 11import domain.repository.MatchingRepository; 12 13@Service 14public class MatchingService { 15 16 @Autowired 17 MatchingRepository matchingRepository; 18 19 public String matchingApplicationCheckLogic(int userId) { 20 //ログインユーザーの未承認申請をチェック 21 List<Matching> matchingList = 22 matchingRepository.findByUser1_userIdAndContactAvailabilityIsNull(userId); 23 24 // JSON変換用のクラス 25 ObjectMapper mapper = new ObjectMapper(); 26 mapper.enable(SerializationFeature.INDENT_OUTPUT); 27 28 String jsonMatchingList = ""; 29 try { 30 //JSON文字列に変換 31 jsonMatchingList = mapper.writeValueAsString(matchingList); 32 System.out.println(jsonMatchingList); 33 } catch (JsonProcessingException e) { 34 e.printStackTrace(); 35 } 36 return jsonMatchingList; 37 } 38}
上記のようにListを変換しようとしたところ
StackOverflowErrorが表示され以下のような表示が連続で表示されました。
この表示が何度もあることによりStackOverflowErrorが出ていることは理解できるのですが、
なぜList→jsonの変換がうまくいっていないのか、下記の表示がなぜ出るのかがわかりません。
アドバイスをいただけると幸いです。
よろしくお願いいたします。
java 12.0.1
springBoot 2.0
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722) at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727) at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722) at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166) at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:145) at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:107)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。