스칼라에서 직렬화하고 싶습니다. sjson과 @serializable annotation을 보았습니다. 그러나 어떻게하면 1 가지 주요 장애물을 처리 할 수 있는지 알 수 없었습니다. 라이브러리의 제네릭.쉬운 스칼라 직렬화?
예를 들어 Graph for Scala 라이브러리를 가져옵니다. 나는 그것을 코드에서 많이 사용하고 나중에 분석 할 수 있도록 내 코드 전체에 걸쳐 그래프를 포함하는 여러 객체를 디스크에 쓰고 싶습니다. 그러나, 여러 번 노드와 엣지 타입은 다른 클래스의 제네릭 타입 인자로 캡슐화되어 있습니다. 리플렉션을 처리하기 위해 라이브러리 자체를 수정하지 않고도 Type Classes (객체가 어떻게 보이는지에 따라 직렬화가 어쨌든 만족스럽지 않게 ...) 많은 수를 가져 와서 내 코드를 "지저분하게"하지 않고 어떻게 올바르게 직렬화 할 수 있습니까?
예,
class Container[N](val g: Graph[N,DiEdge]) {
...
}
// in another file
def myMethod[N](container: Container[N]): Unit = {
<serialize container somehow here>
}
예, 저는 라이브러리에 대해 알고 있지만 핵심은 그래프가 훨씬 큰 퍼즐의 한 조각이라는 것입니다! – duckworthd