package com.alibaba.json.bvt.bug; import org.junit.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.ValueFilter; import junit.framework.TestCase; public class Bug_for_issue_572_private extends TestCase { public void test_for_issue() throws Exception { Model model = new Model(); model.id = 1001; model.name = "wenshao"; String text = JSON.toJSONString(model, SerializerFeature.WriteNonStringValueAsString); Assert.assertEquals("{\"id\":\"1001\",\"name\":\"wenshao\"}", text); } public void test_for_issue_1() throws Exception { Model model = new Model(); model.id = 1001; model.name = "wenshao"; ValueFilter valueFilter = new ValueFilter() { @Override public Object process(Object object, String name, Object value) { if (value instanceof Number) { return null; } return value; } }; String text = JSON.toJSONString(model, valueFilter, SerializerFeature.WriteNonStringValueAsString); Assert.assertEquals("{\"id\":\"1001\",\"name\":\"wenshao\"}", text); } private static class Model { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } }