日期:2014-05-19  浏览次数:20618 次

一个JSONArray的问题,请帮帮忙!
在测试程序中,我就用了一下一句代码:
JSONArray j=JSONArray.fromObject("['json','is','easy']");
然后我查看JSONArray.fromObject("['json','is','easy']")这一段的inspect,
结果显示下面的错误:
An exception occurred: java.lang.NoClassDefFoundError

我是在struts2中添加JSONArray的,不知道哪里出了问题,请知道的朋友告诉下,谢谢!
一下的两段代码都有同样的错误,网上有说法可能是包的问题,我也搞不清楚

测试代码1如下:
public class TestAction extends ActionSupport{
@SuppressWarnings("unchecked")
public String excute(){
@SuppressWarnings("unused")
JSONArray j=JSONArray.fromObject("['json','is','easy']");
return "success";
}
}

测试代码2如下:
public class TestAction extends ActionSupport{
@SuppressWarnings("unchecked")
public String excute(){
List list=new ArrayList();
list.add("1");
list.add("2");
@SuppressWarnings("unused")
JSONArray j=JSONArray.fromObject(list);
return "success";
}
}

------解决方案--------------------
帮你顶一下.
------解决方案--------------------
JSONArray在不同的包里有不同的实现。
json.jar里的JSONArray和json-lib里的JSONArray具体的实现方式都是不一样的,所以你要确定自已用的是哪个包!!
------解决方案--------------------
你知道了,你用的一定是json-lib吧。

你是少引入了包引起的。我的程序代码如下,你可以看下。
package com.wiscom.spring.quartz.job.client;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;

public class testJSONUsage
{
public static void main(String[] args)
{
try
{
JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']");
System.out.println(jsonArray);

List list = new ArrayList(); 
list.add("1"); 
list.add("2"); 
JSONArray j = JSONArray.fromObject(list);
System.out.println(list);
}
catch(Exception e)
{
e.printStackTrace();
}
}

}


运行结果:
["json","is","easy"]
[1, 2]


你这个问题的关键在于没有引入所有需要的包,主要的有:
json-lib-2.2.2-jdk15.jar, commons-beanutils.jar, commons-lang.jar, commons-logging.jar, ezmorph-1.0.4.jar

如果还遇到问题,可以联系QQ544428595