我正在使用org.json庫。我創建一個JSONObject
像這樣:如何用org.json.JSONObject忽略字段(Object)
Geometry geometry = new Geometry();
JSONObject featureObject = new JSONObject(geometry);
我怎麼能告訴的JSONObject忽略Geometry
對象的一個或多個字段?我試過@Transient
但是沒有奏效。
我正在使用org.json庫。我創建一個JSONObject
像這樣:如何用org.json.JSONObject忽略字段(Object)
Geometry geometry = new Geometry();
JSONObject featureObject = new JSONObject(geometry);
我怎麼能告訴的JSONObject忽略Geometry
對象的一個或多個字段?我試過@Transient
但是沒有奏效。
我最終弄清楚這一點的方法是更改getter
方法的名稱。
我將它從getFieldName()
更改爲retrieveFieldName()
,這導致JSONObject
忽略它。
@kolejnik表示,儘管如此,最好轉換到更好的json庫。
正如您在source code中看到的,JSONObject(Object對象)使用的方法populateMap不支持序列化中的任何異常。 有方法public JSONObject(Object object,String names []),但它只適用於公共字段。
我建議使用更強大的庫來解析/從JSON像Gson或傑克遜。 Gson忽略了瞬態場,傑克遜擁有@JsonIgnore獲得者的註解。
你不能使用'JSONObject.remove()'? – Xander