fastjson 注解使用是否有注解转换属性值

同步到微博FastJson输出对象属性为无序问题
实体类对象如下:
public class IndexAndLLByWeekVo
private String
private String
private String
private String
private String
private String
private String
使用json打印后正确的顺序,这里必须要new jsonobject(true)这个true很重要
JSONObject json = new
JSONObject(true);
{"aaData":[{"yLZD1":"abc","yLZD2":"","yLZD3":"","yLZD4":"","yLZD5":""
,"yLZD6":"","yLZD7":""}]}
如果使用map输出的话,结果就变成无序了。
Map json = new
HashMap();
{"aaData":[{"yLZD7":"abc","yLZD2":"","yLZD5":"","yLZD4":"","yLZD3":""
,"yLZD6":"","yLZD1":""}]}
用fastjson序列有序map的时候,tojson方法会让这个map无序,tojsonstring虽然能保留map的结构,不过会让结果里含有(我是jsonStrin套jsonString,Java会出现转义字符)&
解决方案JSONObject有个传入boolean值的构造函数&
如果传入的是true就代表保留数据结构的顺序
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。SpringMVC中关于FastJson泛型对象的转换问题 - 勤奋的asialee的博客 - ITeye技术网站
博客分类:
上周帮同事看一个问题,是想构造一个万能的query对象,这个对象里面包含一个泛型的对象,在spring mvc的controller层想通过RequestBody直接进行转换,spring mvc的代码如下:
@RequestMapping("/testBind")
@ResponseBody
public String testBind(@RequestBody MgQueryCondition&TestBean& queryCondition){
System.out.println(queryCondition);
return "success";
import java.io.S
public class TestBean implements Serializable{
public Integer getId() {
public void setId(Integer id) {
public String toString() {
return "TestBean [id=" + id + "]";
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONO
import com.alibaba.fastjson.TypeR
public class MgQueryCondition&T& {
private Integer pageNo;
private Integer pageN
public T getModel() {
public void setModel(T model) {
this.model =
public Integer getPageNo() {
return pageNo;
public void setPageNo(Integer pageNo) {
this.pageNo = pageNo;
public Integer getPageNum() {
return pageN
public void setPageNum(Integer pageNum) {
this.pageNum = pageN
public String toString() {
return "MgQueryCondition [model=" + model + ", pageNo=" + pageNo
+ ", pageNum=" + pageNum + "]";
假设我们去调试的话,发现MgQueryCondition里面的数据类型是JSONObject,如果如果在调用getModel的时候就会发生类型转换问题,后来我看了下fastjson的文档。
针对泛型类型,使用TypeReference进行解析,代码如下:
public static void main(String[] args) {
MgQueryCondition&TestBean& test = new MgQueryCondition&TestBean&();
TestBean testBean = new TestBean();
testBean.setId(1);
test.setModel(testBean);
test.setPageNo(1);
test.setPageNum(1);
System.out.println(JSONObject.toJSONString(test));
String json = "{\"model\":{\"id\":1},\"pageNo\":1,\"pageNum\":1}";
MgQueryCondition&TestBean& clazz = JSON.parseObject(json,
new TypeReference&MgQueryCondition&TestBean&&(){});
System.out.println(clazz.getModel().getClass());
这样我们就无法使用@RequestBody了,所以应该使用最基本的kv结构的进行传参。
浏览: 705395 次
来自: 北京
感觉LogManager打开了所有的LogSegment(文件 ...
大神 你好 我再使用ueditor 进行编辑的时候发现他会在我 ...匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Fastjson使用例子_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Fastjson使用例子
上传于||文档简介
&&阿​里​巴​巴​温​少​编​写​的​f​a​s​t​j​s​o​n​框​架​,​这​边​介​绍​在​业​务​开​发​中​使​用​f​a​s​t​j​s​o​n​框​架​。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 fastjson ignore注解 的文章

 

随机推荐