package com.alibaba.json.bvt.parser.deser;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class IntegerFieldDeserializerTest2 extends TestCase {
protected void setUp() throws Exception {
// ParserConfig.getGlobalInstance().setAsmEnable(false);
}
public void test_integer() throws Exception {
String text = "{\"value\":{\"column1\":\"aa\"}}";
Map<String, Entity> map = JSON.parseObject(text, new TypeReference<Map<String, Entity>>(){});
Assert.assertNotNull(map);
Assert.assertNotNull(map.get("value"));
Assert.assertNotNull("aa", map.get("value").getColumn1());
}
public void test_integer_2() throws Exception {
String text = "[{\"value\":{\"column1\":\"aa\"}}]";
List<Map<String, Entity>> mapList = JSON.parseObject(text, new TypeReference<List<Map<String, Entity>>>(){});
Map<String, Entity> map = mapList.get(0);
Assert.assertNotNull(map);
Assert.assertNotNull(map.get("value"));
Assert.assertNotNull("aa", map.get("value").getColumn1());
}
public void test_integer_3() throws Exception {
String text = "{\"value\":{\"valueA\":{\"column1\":\"aa\"}, \"valueB\":{\"column1\":\"bb\"}}}";
Map<String, Map<String, Entity>> mapmap = JSON.parseObject(text, new TypeReference<Map<String, Map<String, Entity>>>(){});
Map<String, Entity> map = mapmap.get("value");
Assert.assertNotNull(map);
Assert.assertNotNull(map.get("valueA"));
Assert.assertNotNull("aa", map.get("valueA").getColumn1());
Assert.assertNotNull(map.get("valueB"));
Assert.assertNotNull("bb", map.get("valueB").getColumn1());
}
public static class Entity implements Serializable {
private static final long serialVersionUID = 1L;
private String column1;
private Integer column3;
public String getColumn1() {
return column1;
}
public void setColumn1(String column1) {
this.column1 = column1;
}
public Integer getColumn3() {
return column3;
}
public void setColumn3(Integer column3) {
this.column3 = column3;
}
}
public static class Value {
}
}