JFINAL生成的model,无法被FASTJSON解析

jfinal生成的model

jp.fukuwaraku.erp.model.base.BaseCommonUserAcount()
CommonUserAcount <CommonUserAcount> {
   CommonUserAcount = CommonUserAcount().dao()}

无法被FASTJSON解析:

image.png

只能解析出id

image.png

前台传过来的 数据字段名称和  数据库字段一模一样也是不行 或者 下划线 比如 user_name也是 无法解析

不知道是什么原因呢?

评论区

JFinal

2018-01-29 14:21

CommonUserAcount 生成了 setter 方法没有? 应该是可以的,用一下 FastJson.getJson().parse(...) 方法试试

或是的话

2018-01-29 15:39

@JFinal 有set方法,我想转换的是 List

JFinal

2018-01-29 15:47

@或是的话 想转成 List ,先要确保 json String 是这样的格式:
[{k1:v1}, {k2: v2}]

也就是说,要确保最外层是 []

或是的话

2018-01-30 09:22

@JFinal 我是这样的数据:
[{"createDate":1517151600000,"enable":0,"id":22,"userName":"ggg"}]

JFinal

2018-01-30 12:20

@或是的话 这个就很奇怪了,fastjson将 jsonString 转 model,只认 setter,建议单步调试一下

或是的话

2018-01-31 09:24

@JFinal 我估计只有setter估计不行,应该有改属性成员才行

JFinal

2018-01-31 14:41

@或是的话 fastjson 就是根据 setter 方法来转换的,除非你额外配置过

或是的话

2018-01-31 17:02

@JFinal 就配置过这个:
package com.jfinal.json;

import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.jfinal.json.FastJson;
import com.jfinal.json.IJsonFactory;
import com.jfinal.json.Json;
import com.jfinal.plugin.activerecord.Record;

public class FastJsonFactory implements IJsonFactory {
private static final FastJsonFactory me = new FastJsonFactory();

public FastJsonFactory() {
}

public static FastJsonFactory me() {
return me;
}

public Json getJson() {
return new FastJson();
}

public void removeRecordSerializer() {
SerializeConfig.getGlobalInstance().put(Record.class, (ObjectSerializer)null);
}
}

热门反馈

扫码入社