Dax*_*xon 2 java arrays grails serialization json
我正在使用Grails Webflow,我传递给视图的对象,它必须是序列化的.我的域模型"实现Serializable",因此它们可以工作.
问题是当我从WebService获得响应时.它是org.json.JSONArray类.
我只想将整个数组传递给视图,但它没有实现Serializable,所以它失败了,
关于如何通过这个或者我最好的选择的任何想法?
我可以只编辑org.json库的源代码并使每个类"imp Serializable"吗?
或者将结果处理为执行"imp Serializable"的Domain对象
将它包装为transient实现Serializable并具有readObject()和writeObject()重写的类中的属性.
public class SerializableJSONArray implements Serializable {
private transient JSONArray jsonArray;
public SerializableJSONArray(JSONArray jsonArray) {
this.jsonArray = jsonArray;
}
public JSONArray getJSONArray() {
return jsonArray;
}
private void writeObject(ObjectOutputStream oos) throws IOException {
oos.defaultWriteObject();
oos.writeObject(jsonArray.toString());
}
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException, JSONException {
ois.defaultReadObject();
jsonArray = new JSONArray((String) ois.readObject());
}
}
Run Code Online (Sandbox Code Playgroud)
你看到有一个getter返回包装的JSONArray.请在您的域对象中使用它.或者,您也可以让此类extends JSONArray将其所有方法委托给包装的JSONArray.一个体面的IDE可以在一秒钟内为您自动生成它们.
| 归档时间: |
|
| 查看次数: |
6322 次 |
| 最近记录: |