Я пытаюсь перенести приложение Rails / Mongodb в Play 2.3, используя расширения play-reactivemongo и reactivemongo. При моделировании своих данных я сталкиваюсь с проблемой сериализации и десериализации карты [Int, Boolean].
Когда я пытаюсь определить свои форматы с помощью макроса, например,
implicit val myCaseClass = Json.format[MyCaseClass]
где MyCaseClass имеет несколько строковых полей, поле BSONObjectID и поле Map [Int, Boolean], на которое компилятор жалуется:
No Json serializer found for type Map[Int,Boolean]. Try to implement an implicit Writes or Format for this type.
No Json deserializer found for type Map[Int,Boolean]. Try to implement an implicit Reads or Format for this type.
Глядя на исходный код для Play в Reads.scala, я вижу чтение, определенное для Map [String, _], но не для Map [Int, _].
Есть ли причина, по которой Play по умолчанию имеет чтение / запись для строковых карт, но не для других простых типов?
Я не совсем понимаю карту [String, _], определенную play, потому что я новичок в scala. Как мне перевести это на карту [Int, _]? Если это невозможно по какой-либо технической причине, как мне определить чтение / запись для карты [Int, Boolean]?