`

Class org.apache.struts2.json.JSONWriter can not access a member of *

    博客分类:
  • S2SH
阅读更多

异常形式:

Class org.apache.struts2.json.JSONWriter can not access a member of * 或是 Class com.googlecode.jsonplugin.JSONWriter can not access a member of class*

第一种是struct2.1.8json结合时的异常,第二种是struct2.1.6json结合的异常。

 

具体:

Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver.BaseResultSet with modifiers "public"

 

解释:

不能把程序中的某种数据结构串行化成json格式。

 

原因:

struts2action里面的数据转换成json数据时,会将提供了get方法的属性都串行化输出JSON到客户端。有的时候,很多属性并不能串行化成json数据,比如这里的oracle.jdbc.driver.BaseResultSet。这时还进行强行转换就会出现这样的异常。

 

解决方法:

在不能串行化到json的属性相应的get方法前加一条json标记 @JSON(serialize=false)。告诉json不需要转化这个属性。或者根本不写这个get方法。

 

后记:

对于不需要在前台输出的json数据,也可以用同样的方法进行处理,从而减少服务器和客户端间交互的信息量。

可在需要在前台输出的属性的get方法前加上@JSON(name="status")标识,从而为该属性起了一个别名,在前台就可以通过status作为属性名来读取其值。

分享到:
评论
1 楼 bcwt 2011-07-07  
高手啊,正好遇到这个问题,谢谢!

相关推荐

    org.json.jar包

    7. **其他辅助类**:`org.json.JSONStringer` 和 `org.json.JSONWriter` 提供了更灵活的方式来构建JSON对象,它们允许通过流式API构建复杂的JSON结构。`org.json.XML` 类则提供了XML与JSON之间的转换功能。 8. **...

    org.json的依赖包

    5. **JSONStringer** 和 **JSONWriter**:这两个类用于构建复杂的JSON结构,提供了更灵活的API来构造JSON文本。 6. **JSONTokener**:用于解析JSON字符串,将其分解成JSON组件,如对象、数组、字符串、数字等。 ...

    org.json.*

    6. **JSONWriter**: 提供了一种方法来写入JSON结构到输出流或字符串,支持缩进和控制结构的嵌套。 7. **JSONParser**: 这个接口定义了解析JSON的方法,虽然在org.json库中没有实现,但可以通过实现这个接口自定义...

    struts2--json包

    5. **自定义JSON序列化和反序列化**:Struts2允许我们通过实现`org.apache.struts2.json.JSONWriter`接口来自定义JSON序列化过程,或者通过`org.apache.struts2.json.JSONProcessor`接口自定义反序列化过程。...

    Struts2_JSON_Demo

    6. **自定义JSON转换**:如果默认的JSON序列化不符合需求,可以通过实现`org.apache.struts2.json.JSONWriter`接口来自定义JSON输出。 7. **安全性**:在使用JSON时,要注意防止XSS(跨站脚本攻击)和CSRF(跨站...

    org.json.JSONObject引用依赖包

    除了`JSONObject`,`org.json`包还提供了其他类,如`JSONArray`用于处理JSON数组,`JSONStringer`和`JSONWriter`用于构建复杂的JSON结构,以及`JSONException`用于捕获处理JSON时可能出现的异常。这些工具类使得...

    json示例下载 +struts2

    7. **自定义JSON输出**:如果需要定制JSON的输出,比如忽略某些字段,可以通过实现`org.apache.struts2.json.JSONWriter`接口来自定义JSON序列化过程。 通过以上方式,你可以充分利用Struts2和JSON的特性,构建出...

    新版本org.json的jar包

    这个"新版本org.json的jar包"是针对2017年10月18日发布的org.json库的更新版本,旨在提供更稳定、更高效的JSON操作功能。 org.json库包含了一些核心类,如JSONObject、JSONArray、XML等,它们为JSON对象和数组提供...

    org.jsonjar包

    6. **JSONWriter**:提供了更高级的JSON输出方法,用于生成格式化的JSON输出。 ### 使用示例 1. 创建JSON对象: ```java JSONObject obj = new JSONObject(); obj.put("name", "John"); obj.put("age", 30); ...

    org.json的包

    6. **JSONWriter**: 提供了一个流式API来构建JSON结构。这种方式可以更方便地构建复杂的JSON对象,避免了大量字符串拼接。 在实际应用中,`org.json`库的使用通常包括以下几个步骤: 1. **序列化**:将Java对象...

    org.json java处理json数据

    7. **JSONWriter**:提供了一种方式来编写JSON结构,类似于JSONStringer,但提供了更多的控制和灵活性。 `org.json`库还提供了一些辅助方法,如`toString()`将JSON对象转换为字符串,`length()`获取JSON对象或数组...

    org.json.jar

    7. **JSONWriter**: 类似于JSONStringer,提供了一种构造JSON文本的方式,但提供了更细粒度的控制,例如缩进和新行。 源代码和Javadoc的包含意味着开发者可以查看库的内部实现,理解其工作原理,以及查找和修复潜在...

    org.json源码及jar包

    `org.json`库不仅有`JSONObject`,还有其他类,如`JSONArray`用于表示JSON数组,`JSONException`用于处理与JSON相关的异常,`JSONStringer`和`JSONWriter`则提供更高效的JSON序列化方式。此外,`JSONArray`和`...

    googleGson JsonObject json转换包

    包含以下java源文件: com.google.gson.DefaultDateTypeAdapter.class com.google.gson.ExclusionStrategy.class ...com.google.gson.stream.JsonWriter.class com.google.gson.stream.MalformedJsonException.class

    org.json.zip

    6. **JSONWriter**: 提供了一种方式来构造复杂的JSON结构,类似于JSONStringer,但提供了更多的控制和灵活性。 在实际开发中,`org.json`库特别适用于简单的JSON操作,例如从服务器接收JSON响应并解析,或者将本地...

    org.json源代码

    org.json全部源代码 1、CDL.java 2、Cookie.java 3、CookieList.java 4、HTTP.java 5、HTTPTokener.java 6、JSONArray.java 7、JSONException.java 8、JSONML.java 9、JSONObject.java 10、JSONString.java 11、...

    Newtonsoft.Json.Net 4.0下载.rar

    Newtonsoft.Json.Net 4.0 是一个非常重要的.NET框架库,专门用于处理JSON(JavaScript Object Notation)数据。这个库由James Newton-King 开发,是.NET开发人员处理JSON序列化和反序列化的首选工具之一。在4.0版本...

    json-src.zip org.json源码

    2. **JSONArray**: 与JSONObject相对,JSONArray表示一个JSON数组,它包含一系列的值,这些值可以是其他JSON对象、数组或基本类型。`JSONArray`提供类似的方法如`add()`来添加元素,`get()`来获取指定索引的元素。 ...

Global site tag (gtag.js) - Google Analytics