当我使用Gson从GAE获取异常访问数据时:
我的代码是:例外:java.lang.SecurityException:java.lang.IllegalAccessException: private不允许反射int java.util.BitSet.ADDRESS_BITS_PER_WORD
Gson gson = new Gson();
JsonObject jsonObject = new JsonObject();
JsonElement element = gson.toJsonTree(dspinfo1);
JsonElement element1 = gson.toJsonTree(dspbh);
jsonObject.add("xxx", element1);
jsonObject.add("xxxx", element);
out.print(jsonObject.toString());
所以请给我建议,如果可能的话用例子。完整示例:
List<DSPMaster> dpsinfo1=new ArrayList<DSPMaster>();
DSPMaster dspinfo1 = dspDao.getdeliveryprovider(Long.parseLong(xxxx));
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Gson gson = new Gson(); JsonObject jsonObject = new JsonObject();
JsonElement element = gson.toJsonTree(dspinfo1);
jsonObject.add("xxxx", element);
out.print(jsonObject.toString());
你可以试试
Field field = MyClass.class.getField("ADDRESS_BITS_PER_WORD");
field.setAccessible(true);
您可以尝试Jackson您的类,将其转换为json模式,然后预编译类。这将允许您绕过GAE中的反射问题。