//see: http://www.cowtowncoder.com/blog/archives/2009/01/entry_137.html
//see: https://github.com/FasterXML/jackson-databind
@Grapes([
/*
@Grab(
group='com.fasterxml.jackson.core', module='jackson-core', version='2.2.1'
),
@Grab(
group='com.fasterxml.jackson.core', module='jackson-annotations', version='2.2.1'
),
*/
@Grab(
group='com.fasterxml.jackson.core', module='jackson-databind', version='2.2.1'
)
])
import com.fasterxml.jackson.databind.ObjectMapper
class Abc {
int id, age
String person
}
ObjectMapper mapper = new ObjectMapper();
Abc entry = mapper.readValue('{"id": 1, "person": "Steve", "age": "1"}', Abc.class);
assert entry1.id == 1
assert entry1.person == "Steve"
assert entry1.age == 1 //notice the auto type conversion from the JSON!
def entry2 = mapper.readValue('{"id": 1, "person": "Steve", "age": [1, {}, 3]}', LinkedHashMap.class);
assert entry2.id == 1
assert entry2.person == "Steve"
assert entry2.age.size() == 3
assert entry2.age[1].getClass().name == 'java.util.LinkedHashMap'
mapper.writeValue(new File("C:\\result.json"), entry1) //--> {"id":1,"person":"Steve","age":1}
/*
public void com.fasterxml.jackson.databind.ObjectMapper#writeValue(java.io.File, java.lang.Object)
public void com.fasterxml.jackson.databind.ObjectMapper#writeValue(java.io.OutputStream, java.lang.Object)
public void com.fasterxml.jackson.databind.ObjectMapper#writeValue(java.io.Writer, java.lang.Object)
*/
Thursday, May 16, 2013
POJO to JSON : binding and serializing
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment