Skip to content

Instantly share code, notes, and snippets.

@crimsoncor
crimsoncor / JacksonMapTest.scala
Created August 3, 2012 01:40
Broken Scala Map to JSON
package test
import org.codehaus.jackson.map.ObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
object JacksonMapTest {
def main(args: Array[String]): Unit = {
val map = Map((2, 3) -> "Horsey")
val mapper = new ObjectMapper()
@crimsoncor
crimsoncor / JacksonMapTest2.scala
Created August 3, 2012 05:32
A more up-to-date example of how map key serialization in jackson does not work.
package test
import scala.collection.{immutable => im}
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer
import com.fasterxml.jackson.databind.{ObjectMapper, DeserializationContext}
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.databind.JsonSerializer
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import com.fasterxml.jackson.databind.SerializerProvider
@crimsoncor
crimsoncor / JacksonMapTestJava.java
Created August 12, 2012 23:10
Map key serialization in Java. Working example
package test;
import java.io.IOException;
import java.util.TreeMap;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.annotation.*;
import com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
@crimsoncor
crimsoncor / ScalaBeanTest.scala
Created August 13, 2012 15:25
scala.annotation.target annotations break scalabeans
package test
import scala.annotation.target.field
import Thing._
import javax.xml.bind.annotation.XmlAnyAttribute
import org.scalastuff.scalabeans.types.ScalaType
import org.scalastuff.scalabeans.sig.{Mirror, ClassDeclExtractor}
import org.scalastuff.scalabeans.PropertyDescriptor
import org.scalastuff.scalabeans.Preamble._
@crimsoncor
crimsoncor / keySerializers.patch
Created August 13, 2012 18:48
Patch to enable hacky keyserializer support for CaseClasses in the Jackson Scala module
From 5ec37ea1d859430b950cf49c8bba5bf8499522cc Mon Sep 17 00:00:00 2001
From: Jesse C <crimson.corelio@gmail.com>
Date: Mon, 13 Aug 2012 14:36:51 -0400
Subject: [PATCH] Hacky proof-of-concept for keySerializers in caseClasses
---
.../scala/deser/CaseClassDeserializerModule.scala | 41 ++++++++++++++++++++--
.../module/scala/ser/MapSerializerModule.scala | 23 ++++++++++--
2 files changed, 58 insertions(+), 6 deletions(-)