2014-02-06 41 views
0

我有ArrayList<TBSet>,我想将其转换为JSON。 该课程有简单的字段和两个ArrayLists。当我尝试进行转换时,我得到空白ArrayLists,但它们不是空白。使用Gson将内部ArrayList <POJO>转换为JSON

我使用此代码:

[ 
    { 
     "access":"public", 
     "changed":"2014-02-04 20:10:04", 
     "userId":"54086", 
     "created":"2014-02-04 20:08:14", 
     "pictureId":"ZWM3ODA5Njme7m7KbNyKlQ\u003d\u003d:::1391530205", 
     "forWinter":0, 
     "height":0, 
     "forSummer":0, 
     "isAutoNamed":0, 
     "isLiked":0, 
     "likeRating":0, 
     "forSpring":0, 
     "forAutumn":0, 
     "deleted":0, 
     "commentsCount":0, 
     "width":0, 
     "zoom":0 
    } 
] 

这里是TBSet对象:

public class TBSet { 
    private String id; 
    private String userId; 
    private String guid; 
    private String name; 
    private String description; 
    private String pictureId; 
    private String access; 
    private String created; 
    private String changed; 
    private int isAutoNamed; 
    private int zoom; 
    private int height; 
    private int width; 
    private int likeRating; 
    private int commentsCount; 
    private int forWinter; 
    private int forAutumn; 
    private int forSummer; 
    private int forSpring; 
    private int isLiked; 
    private ArrayList<Integer> appointments; 
    private ArrayList<TBSetObject> objects; 
    private int deleted; 

而且TBSetObject

public class TBSetObject { 
    private String id; 
    private String type; 
    private String color; 
    private String text; 
    private String fontId; 
    private int fontSize; 
    private String fontStyle; 
    private String pictureId; 
    private int top; 
    private int left; 
    private int width; 
    private int height; 
    private int flip; 
    private int flop; 
    private int opacity; 
    private int zIndex; 
    private int rotate; 
    private int isWithoutBackground; 
    private int backgroundRemoveTolerance; 
    private String backgroundRemovePath; 
    private int isArticle; 
    private int isSuperArticle; 
    private int locked; 
    private int background; 
    private String articleId; 

Type listOfTestObject = new TypeToken<ArrayList<TBSet>>(){}.getType(); 
json = new Gson().toJson(sets,listOfTestObject); 

结果的实施例

回答

1

我相信你需要@serializedvalue添加到每个属性,也只需使用:

Gson gson = new Gson(); 
String json = gson.toJson(arraylistObj); 
相关问题