Json4s没有定义隐式排序的具体原因吗?
例如此代码::
List(JInt(1), JInt(3)).max
引发以下异常
没有为org.json4s.JsonAST.JInt定义隐式排序
那么,这只是一个无人关心的功能,或者背后有一些故事吗?
而且,这个实现(它使用scalaz Order)还可以吗?它不违反合同吗?
object JValueOrdering extends Order[JValue] {
def order(x: JValue, y: JValue): Ordering = (x, y) match {
case (JInt(a), JInt(b)) => a ?|? b
case (JString(a), JString(b)) => a ?|? b
case (JDouble(a), JDouble(b)) => a ?|? b
case (JDecimal(a), JDecimal(b)) => a ?|? b
case (JArray(a), JArray(b)) => a.length ?|? b.length
case _ => Ordering.EQ
}
}