1.我已经在工程的lib目录下添加了json-lib-2.1-jdk15.jar
2. 同一工程下的PeopleBean.java类可以正确运行:
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
public class PeopleBean {
private String name;
private int age;
private boolean gendar;
//setter/getter
public PeopleBean() {
}
public PeopleBean(String name, int age, boolean gendar) {
this.name = name;
this.age = age;
this.gendar = gendar;
}
public static void main(String[] args) throws Exception{
/**
* 创建JSONObject对象
*/
//Create a JSONObject from scratch
JSONObject object1=new JSONObject();
object1.element("name", "张三");
object1.element("age", 24);
object1.element("gendar", true);
//Create a JSONObject from formatted String
String jsonString1="{name:\"李四\",age:25,gendar:false}";
JSONObject object2=JSONObject.fromObject(jsonString1);
String jsonString2="{'name':'王五','age':22,'gendar':true}";
JSONObject object3=(JSONObject)JSONSerializer.toJSON(jsonString2);
//Create a JSONObject from a Map
Map map=new HashMap();
map.put("name", "刘六");
map.put("age", 23);
map.put("gendar", true);
JSONObject object4=(JSONObject)JSONSerializer.toJSON(map);
//Create a JSONObject from a bean
PeopleBean WangNan=new PeopleBean("王l",26,true);
JSONObject object5=(JSONObject)JSONSerializer.toJSON(WangNan);
/**
* 把JSONObject对象转化为Bean或Object
*/
PeopleBean people=(PeopleBean)object5.toBean(object5, PeopleBean.class);
System.out.println("name===="+people.getName()+" age======"+people.getAge()+" gendar======"+people.isGendar());
/**
* From JSON to XML
*/
JSONObject object6=new JSONObject(true);
XMLSerializer xmlSerializer=new XMLSerializer();
String xml1=xmlSerializer.write(object6);
System.out.println(xml1);
xmlSerializer.setRootName("people");
xmlSerializer.setTypeHintsEnabled(false);
String xml2=xmlSerializer.write(object5);
System.out.println(xml2);
/**
* From XML to JSON
*/
JSONObject object7=(JSONObject)xmlSerializer.read(xml2);
System.out.println(object7);
}
}
3. 同一工程下的UserController.java在tomcat启动后,报错java.lang.ClassNotFoundException: net.sf.json.JSONObject:
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import com.wn.core.usersys.model.User;
import com.wn.core.usersys.service.UserService;
public class UserController extends MultiActionController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,HttpServletResponse response) throws Exception {
String loginName=request.getParameter("loginName");
String passwd=request.getParameter("passwd");
System.out.println("loginName============"+loginName);
System.out.println("passwd==============="+passwd);
Map map=new HashMap();
map.put("name", "刘六");
map.put("age", 23);
map.put("gendar", true);
//此处报错
JSONObject object4=(JSONObject)JSONSerializer.toJSON(map);
return new ModelAndView("success","json",object4);
}
}
请问是什么原因?
18 个解决方案
#1
Tomcat環境沒有 json-lib-2.1-jdk15.jar
可以放到tomcat的common lib 或是web ap的WEB-INF\lib
可以放到tomcat的common lib 或是web ap的WEB-INF\lib
#2
.jar包冲突了吧
#3
这个错误很明显的呀,就是没有这个包呗。你右键下你的项目看下bulid-path ->configure bulid path 中的libraries 下面的包是否有错误,看有没有你的那个包了。
#4
1#,3#,请看帖..我已经加到工程下了,并且同一个工程下的别的类是可以正确运行的
#5
顶你!我这里报
WARN http-8088-2 net.sf.json.JSONObject - java.lang.NoSuchMethodException: Property 'servlet' has no getter method
跟你的差不多
工程下有jar包 期待解决啊
WARN http-8088-2 net.sf.json.JSONObject - java.lang.NoSuchMethodException: Property 'servlet' has no getter method
跟你的差不多
工程下有jar包 期待解决啊
#6
我也碰到了,重新建个同名的project,把原来的src,web丢进去,原来的删除掉,好了
#7
使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时,如果会出现异常:java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖 包:commons-beanutils.jar,commons-httpclient.jar,commons- lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖 包:commons-beanutils.jar,commons-httpclient.jar,commons- lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
#8
我想知道楼主这个问题解决了吗 我也碰到同样的问题
#9
求真相
#10
json用到的lib包大致有一下几个:
commons-logging-1.0.4.jar
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
另外还需要两个单独一点的包
json-lib-2.2.1-jdk15.jar和ezmorph-1.0.4.jar
commons-logging-1.0.4.jar
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
另外还需要两个单独一点的包
json-lib-2.2.1-jdk15.jar和ezmorph-1.0.4.jar
#11
什么原因?
#12
我也遇到了该问题。。。
#13
这些包都有了还有这个异常?
#14
我也遇到了这个问题,但是现在解决 了,解决办法是在你的tomcat环境中的lib包下也加入和你eclipse中一样的包就可以了。问题的原因就是 tomcat中缺少这个包。
#15
也遇到了和楼主相同的问题 导入JAR包时,在lib下新建文件夹json,然后把所有需要的JAR复制进去 最后我把文件夹json删掉,直接将JAR包复制到lib下就可以了
#16
我也是遇到了
#17
servlet部分代码
List<userInfo> list=new ArrayList<userInfo>();
userInfo u1=new userInfo();
u1.setUserId(1);
u1.setUserName("张三");
userInfo u2=new userInfo();
u1.setUserId(2);
u1.setUserName("李四");
list.add(u1);
list.add(u2);
JSONArray j=JSONArray.fromObject(list);
out.print(j);
List<userInfo> list=new ArrayList<userInfo>();
userInfo u1=new userInfo();
u1.setUserId(1);
u1.setUserName("张三");
userInfo u2=new userInfo();
u1.setUserId(2);
u1.setUserName("李四");
list.add(u1);
list.add(u2);
JSONArray j=JSONArray.fromObject(list);
out.print(j);
#18
jquery代码
$(function(){
$("#select").bind("click",function(){
$.ajax({
type:"POST",
url:"userServlet",
cache:false,
data:name="zah",
dataType:"json",
success:function(json){
alert(json[0].userName);
}
})
})
})
$(function(){
$("#select").bind("click",function(){
$.ajax({
type:"POST",
url:"userServlet",
cache:false,
data:name="zah",
dataType:"json",
success:function(json){
alert(json[0].userName);
}
})
})
})
#1
Tomcat環境沒有 json-lib-2.1-jdk15.jar
可以放到tomcat的common lib 或是web ap的WEB-INF\lib
可以放到tomcat的common lib 或是web ap的WEB-INF\lib
#2
.jar包冲突了吧
#3
这个错误很明显的呀,就是没有这个包呗。你右键下你的项目看下bulid-path ->configure bulid path 中的libraries 下面的包是否有错误,看有没有你的那个包了。
#4
1#,3#,请看帖..我已经加到工程下了,并且同一个工程下的别的类是可以正确运行的
#5
顶你!我这里报
WARN http-8088-2 net.sf.json.JSONObject - java.lang.NoSuchMethodException: Property 'servlet' has no getter method
跟你的差不多
工程下有jar包 期待解决啊
WARN http-8088-2 net.sf.json.JSONObject - java.lang.NoSuchMethodException: Property 'servlet' has no getter method
跟你的差不多
工程下有jar包 期待解决啊
#6
我也碰到了,重新建个同名的project,把原来的src,web丢进去,原来的删除掉,好了
#7
使用JSON,在SERVLET或者STRUTS的ACTION中取得数据时,如果会出现异常:java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖 包:commons-beanutils.jar,commons-httpclient.jar,commons- lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
是因为需要的类没有找到,一般,是因为少导入了JAR包,
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖 包:commons-beanutils.jar,commons-httpclient.jar,commons- lang.jar,ezmorph.jar,morph-1.0.1.jar
这几个包也是需要导入的.如果缺少里面的:ezmorph.jar包,则即出现上述异常
commons系列的包,可在网站:http://www.docjar.com/上面搜索下载,其它包可下载网站如下:
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
#8
我想知道楼主这个问题解决了吗 我也碰到同样的问题
#9
求真相
#10
json用到的lib包大致有一下几个:
commons-logging-1.0.4.jar
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
另外还需要两个单独一点的包
json-lib-2.2.1-jdk15.jar和ezmorph-1.0.4.jar
commons-logging-1.0.4.jar
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
另外还需要两个单独一点的包
json-lib-2.2.1-jdk15.jar和ezmorph-1.0.4.jar
#11
什么原因?
#12
我也遇到了该问题。。。
#13
这些包都有了还有这个异常?
#14
我也遇到了这个问题,但是现在解决 了,解决办法是在你的tomcat环境中的lib包下也加入和你eclipse中一样的包就可以了。问题的原因就是 tomcat中缺少这个包。
#15
也遇到了和楼主相同的问题 导入JAR包时,在lib下新建文件夹json,然后把所有需要的JAR复制进去 最后我把文件夹json删掉,直接将JAR包复制到lib下就可以了
#16
我也是遇到了
#17
servlet部分代码
List<userInfo> list=new ArrayList<userInfo>();
userInfo u1=new userInfo();
u1.setUserId(1);
u1.setUserName("张三");
userInfo u2=new userInfo();
u1.setUserId(2);
u1.setUserName("李四");
list.add(u1);
list.add(u2);
JSONArray j=JSONArray.fromObject(list);
out.print(j);
List<userInfo> list=new ArrayList<userInfo>();
userInfo u1=new userInfo();
u1.setUserId(1);
u1.setUserName("张三");
userInfo u2=new userInfo();
u1.setUserId(2);
u1.setUserName("李四");
list.add(u1);
list.add(u2);
JSONArray j=JSONArray.fromObject(list);
out.print(j);
#18
jquery代码
$(function(){
$("#select").bind("click",function(){
$.ajax({
type:"POST",
url:"userServlet",
cache:false,
data:name="zah",
dataType:"json",
success:function(json){
alert(json[0].userName);
}
})
})
})
$(function(){
$("#select").bind("click",function(){
$.ajax({
type:"POST",
url:"userServlet",
cache:false,
data:name="zah",
dataType:"json",
success:function(json){
alert(json[0].userName);
}
})
})
})