2016-02-03 57 views
0

我正在使用org.json庫。我創建一個JSONObject像這樣:如何用org.json.JSONObject忽略字段(Object)

Geometry geometry = new Geometry(); 
JSONObject featureObject = new JSONObject(geometry); 

我怎麼能告訴的JSONObject忽略Geometry對象的一個​​或多個字段?我試過@Transient但是沒有奏效。

+0

你不能使用'JSONObject.remove()'? – Xander

回答

2

我最終弄清楚這一點的方法是更改​​getter方法的名稱。

我將它從getFieldName()更改爲retrieveFieldName(),這導致JSONObject忽略它。

@kolejnik表示,儘管如此,最好轉換到更好的json庫。

2

正如您在source code中看到的,JSONObject(Object對象)使用的方法populateMap不支持序列化中的任何異常。 有方法public JSONObject(Object object,String names []),但它只適用於公共字段。

我建議使用更強大的庫來解析/從JSON像Gson或傑克遜。 Gson忽略了瞬態場,傑克遜擁有@JsonIgnore獲得者的註解。