如何用org.json.JSONObject(Object)忽略字段

时间:2016-02-03 19:00:05

标签: java json

我正在使用org.json库。我正在创建JSONObject,如此:

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

如何告诉JSONObject忽略Geometry对象的一个​​或多个字段?我试过@Transient但是没有用。

3 个答案:

答案 0 :(得分:4)

我最终解决这个问题的方法是更改​​getter方法的名称。

我将其从getFieldName()更改为retrieveFieldName(),这导致JSONObject忽略它。

正如@kolejnik所说,最好切换到更好的json库。

答案 1 :(得分:3)

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

我建议使用更强大的库来解析JSON或JSON之类的JSON。 Gson省略了瞬态场,Jackson有@JsonIgnore注释用于获取。

答案 2 :(得分:1)

同时,org.json库中对此也有一个注释。

@JSONPropertyIgnore