import
static
org.hamcrest.Matchers.*;
import
static
org.junit.Assert.*;
import
java.io.IOException;
import
org.junit.Test;
import
com.fasterxml.jackson.databind.ObjectMapper;
import
net.sf.json.JSONObject;
import
net.sf.json.JSONSerializer;
public
class
JsonTest {
@Test
public
void
test_jsonlib_BeanCase() {
try
{
TestBean inBean =
new
TestBean();
inBean.setA(
"a Value"
);
inBean.setB(
""
);
inBean.setC(
null
);
inBean.setInt11(
1
);
inBean.setInt21(
1
);
inBean.setInt21(
null
);
inBean.setBool11(
true
);
inBean.setBool21(
true
);
inBean.setBool21(
null
);
JSONObject jsonObj = JSONObject.fromObject( JSONSerializer.toJSON(inBean) );
String jsonStr = jsonObj.toString();
System.out.println(
"jsonStr: "
+ jsonStr);
jsonObj = (JSONObject) JSONObject.fromObject(jsonStr);
TestBean outBean = (TestBean) JSONObject.toBean(jsonObj, TestBean.
class
);
System.out.println(outBean);
assertEquals(inBean.getA(), outBean.getA());
assertEquals(inBean.getB(), outBean.getB());
assertEquals(outBean.getC(),
""
);
assertEquals(outBean.getD(),
""
);
assertEquals(inBean.getInt11(), outBean.getInt11());
assertEquals(inBean.getInt12(), outBean.getInt12());
assertEquals(outBean.getInt21(),
new
Integer(
0
));
assertEquals(outBean.getInt22(),
new
Integer(
0
));
assertEquals(inBean.isBool11(), outBean.isBool11());
assertEquals(inBean.isBool12(), outBean.isBool12());
assertEquals(outBean.getBool21(),
new
Boolean(
false
));
assertEquals(outBean.getBool22(),
new
Boolean(
false
));
}
catch
(Exception e) {
System.err.println(
"-- e: "
+ e);
}
}
@Test
public
void
test_jackson_BeanCase() {
try
{
ObjectMapper jacksonMapper =
new
ObjectMapper();
TestBean inBean =
new
TestBean();
inBean.setA(
"a Value"
);
inBean.setB(
""
);
inBean.setC(
null
);
inBean.setInt11(
1
);
inBean.setInt21(
1
);
inBean.setInt21(
null
);
inBean.setBool11(
true
);
inBean.setBool21(
true
);
inBean.setBool21(
null
);
System.out.println(inBean);
String jsonStr = jacksonMapper.writeValueAsString(inBean);
System.out.println(
"jsonStr: "
+ jsonStr);
TestBean outBean = jacksonMapper.readValue(jsonStr, TestBean.
class
);
assertEquals(inBean.getA(), outBean.getA());
assertEquals(inBean.getB(), outBean.getB());
assertEquals(inBean.getC(), outBean.getC());
assertEquals(inBean.getD(), outBean.getD());
assertEquals(outBean.getC(),
null
);
assertEquals(outBean.getD(),
null
);
assertEquals(inBean.getInt11(), outBean.getInt11());
assertEquals(inBean.getInt12(), outBean.getInt12());
assertEquals(inBean.getInt21(), outBean.getInt21());
assertEquals(inBean.getInt22(), outBean.getInt22());
assertEquals(inBean.isBool11(), outBean.isBool11());
assertEquals(inBean.isBool12(), outBean.isBool12());
assertEquals(inBean.getBool21(), outBean.getBool21());
assertEquals(inBean.getBool22(), outBean.getBool22());
}
catch
(IOException e) {
System.err.println(
"-- e: "
+ e);
}
}
}