jsonobject IllegalAccessException无法使用修饰符“private”访问类java.util.HashMap的成员

时间:2012-06-21 04:01:18

标签: java json hashmap

创建JSONObject时出现以下错误:

Caused by: java.lang.IllegalAccessException: Class org.json.JSONObject can not access a member of class java.util.HashMap with modifiers "private"

DTO有3个属性:

private list aList = new ArrayList();
private Map<String, Map<String, BigDecimal>> aMapOfMaps = new HashMap<String, Map<String, BigDecimal>>();
private Map<String, BigDecimal> aMap = new HashMapMap<String, BigDecimal>();

在创建JSON对象时抛出错误, obj = new JSONObject(object);

其中object是DTO对象。 不确定我在这里做错了什么或遗漏了什么。我真的很感激任何对soln的指示。

1 个答案:

答案 0 :(得分:1)

首先,您的代码根本不会编译,请将其更改为:

private List aList = new ArrayList();
private Map<String, Map<String, BigDecimal>> aMapOfMaps = new HashMap<String, 
  Map<String,BigDecimal>>();
private Map<String, BigDecimal> aMap = new HashMap<String, BigDecimal>();

其次,我使用org.json遇到了这些奇怪的问题,如果可能请使用Jackson