jsonobject 抛出java.lang.InstantiationException

packageJSON;importnet.sf.json.*;importjava.util.Map;importjava.util.HashMap;importjav... package JSON;
import net.sf.json.*;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;

public class JSONReader {

private JSONObject jsonObj;
private JSONArray jsonArray;

public JSONReader(String jsonStr)
{
String jsonArr="["+jsonStr+"]";
this.jsonObj=JSONObject.fromObject(jsonStr);
this.jsonArray=JSONArray.fromObject(jsonArr);
}
/**
* 把JSONObject对象转成java Map
* @return
*/
public Map getMap4JSON()
{
Map map=new HashMap();
Iterator keys=jsonObj.keys();
String key;
Object value;
while(keys.hasNext())
{
key=(String)keys.next();
value=jsonObj.get(key);
map.put(key, value);
}
return map;
}

/**
* 转成数组
* @return Object[]
*/
public Object[] getArray4JSON()
{
return jsonArray.toArray();
}

/**
* 从中得到String[],int[]以及其他,类似于下面的过程
* @return String[]
*/
public String[] getStringArray4JSON()
{
String str[]=new String[jsonArray.size()];
for(int i=0;i<str.length;i++)
{
str[i]=jsonArray.getString(i);
}
return str;
}

/**
* 得到Java 对象
* @param beanClass
* @return
*/
public Object getObject4JSON(Class beanClass)
{
Object obj=JSONObject.toBean(jsonObj, beanClass);
return obj;
}

/**
* 得到java 对象列表
* @param beanClass
* @return
*/
public List getList4JSON(Class beanClass)
{
List list=new ArrayList();
Object obj;
for(int i=0;i<jsonArray.size();i++)
{
obj=JSONObject.toBean(jsonObj, beanClass);
list.add(obj);
}
return list;
}
}

抛出下面的一场
Servlet.service() for servlet jsp threw exception
java.lang.InstantiationException: JSON.Client
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.sf.json.util.NewBeanInstanceStrategy$DefaultNewBeanInstanceStrategy.newInstance(NewBeanInstanceStrategy.java:47)
at net.sf.json.JSONObject.toBean(JSONObject.java:291)
at net.sf.json.JSONObject.toBean(JSONObject.java:242)
at JSON.JSONReader.getObject4JSON(JSONReader.java:70)
at org.apache.jsp.JSONServlet_jsp._jspService(JSONServlet_jsp.java:89)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
异常指向
Object obj=JSONObject.toBean(jsonObj, beanClass);

问题我已经解决了,就是不明白,在调试过程中有的时候异常提示上面的方法不存在,后来换了commons-lib-2.1.jar再换回2.2版本就好了
展开
 我来答
午夜不眠的小狗
2009-12-04 · 超过10用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:46.2万
展开全部
容器有一个设置异常的抱出级别,你可以将其设置的抱出级别低,那么抱出的信息就更全面。对你问题的补充,我肯定其是有问题的,换了又换回来就OK了,怎么可能呢“?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的酒窝儿
2009-12-02 · TA获得超过335个赞
知道小有建树答主
回答量:747
采纳率:0%
帮助的人:155万
展开全部
你是布是 把其他的类也发出来啊。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式