格式化Object为json JSON.toJSONString(Object)
格式化json为javaBean JSON.parseObject(String, javaBean.class));
/**
* 将对象转换成JSON字符串,并响应回前台*
* @param object
* @throws IOException
*/
public void writeJson(Object object) {
try {
SerializerFeature[] features = new SerializerFeature[]{SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteMapNullValue};
String json = JSON.toJSONString(object,features);
getResponse().setContentType("text/html;charset=utf-8");
getResponse().getWriter().write(json);
getResponse().getWriter().flush();
getResponse().getWriter().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public class StakeRateInfo {
private int gridStationSeq;
private String gridStationName;
private String stationNo;
private int stakeCount;// 充电桩总数
private int okStakeNum;// 正常充电桩
private int offlineStakeNum;// 离线充电桩数量
private int faultStakeNum;// 故障充电桩数量----------------//修改前是private int n nFaultStakeNum;
private float stakeRate;//充电桩效率
set/get自动生成省略
用FastJson就是少了个属性pId没有被转化出来,用Gson和其他的却可以,而我的Node对象只是个普通的JAVA类而已
答案:1)你的get,set方法估计多半是自动生成的,Fastjson在生成的时候去判断pId有没有对应的get方法是区分了大小写的,所以找不到对应的get方法(getPId())。
2)如果页面上也需要使用node对象,就必须使用自动生成的get、set方法。与1)相互冲突,最根本的解决办法是,不适用第一个单词只有一个小写字母的属性名,换一个属性名字paId