mirror of
https://github.com/alibaba/fastjson.git
synced 2026-10-28 13:50:47 +08:00
bug fixed for custom fieldName
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package com.alibaba.json.bvt.bug;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.junit.Assert;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
public class KeyBug_for_zhongl extends TestCase {
|
||||
|
||||
public void testCustomedKey() throws Exception {
|
||||
Assert.assertEquals("{\"uid\":1}", JSON.toJSONString(new V2(1)));
|
||||
}
|
||||
|
||||
public void testDeserialize() throws Exception {
|
||||
Assert.assertEquals(123, JSON.parseObject("{\"uid\":123}", V2.class).id);
|
||||
}
|
||||
|
||||
public void testCustomedKey_static() throws Exception {
|
||||
Assert.assertEquals("{\"uid\":1}", JSON.toJSONString(new VO(1)));
|
||||
}
|
||||
|
||||
public void testDeserialize_static() throws Exception {
|
||||
Assert.assertEquals(123, JSON.parseObject("{\"uid\":123}", VO.class).id);
|
||||
}
|
||||
|
||||
public static class VO {
|
||||
|
||||
@JSONField(name = "uid")
|
||||
public int id;
|
||||
|
||||
@JSONField(serialize = false)
|
||||
public String name = "defaultName";
|
||||
|
||||
public VO(){
|
||||
|
||||
}
|
||||
|
||||
VO(int id){
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
|
||||
private static class V2 {
|
||||
|
||||
@JSONField(name = "uid")
|
||||
public int id;
|
||||
|
||||
@JSONField(serialize = false)
|
||||
public String name = "defaultName";
|
||||
|
||||
private V2() {
|
||||
|
||||
}
|
||||
|
||||
private V2(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user