我有一个Java类,我想从类的对象生成一个JSON字符串。但是,班级成员如下:
/**
* The set containing the footer texts
*/
public HeaderOrFooter[] footers = null;
/**
* The title of the word cloud
*/
public HeaderOrFooter title;
/**
* The subtitle of the word cloud
*/
public HeaderOrFooter subTitle;
/**
* The set of rectangles to be drawn
*/
public Rectangle[] rectangles;
/**
* The set of round rectangles to be drawn
*/
public RoundRectangle[] roundRectangles;
/**
* The set of lines to be drawn
*/
public Line[] lines;
/**
* The set of polygons to be drawn
*/
public Polygon[] polygons;
/**
* The set of words to be drawn
*/
public Word[] words;
我将对象转换为JSON的方法如下所示:
public String convertToJSON()
{
flexjson.JSONSerializer jsonSerializer = new flexjson.JSONSerializer();
jsonSerializer.exclude("class");
jsonSerializer.exclude("subTitle.class");
jsonSerializer.exclude("title.class");
return jsonSerializer.serialize(this);
}
我正在使用flexjson
及其JSONSerializer
对象。我的问题是它只将title和subTitle成员转换为JSON,不转换数组。有人可以告诉我如何将数组包含到我的JSON中?感谢。
答案 0 :(得分:3)
我已经弄清楚了,这是正确的功能:
// Re-using the serializer as per "Thread Safety and Reuse"
// section of http://flexjson.sourceforge.net/
public static final flexjson.JSONSerializer jsonSerializer;
static {
jsonSerializer = new flexjson.JSONSerializer().exclude("*.class");
}
public String toJSON() {
return jsonSerializer.deepSerialize(this);
}