服务器端JSON开发中遇到的异常解析

本文列举了在服务端JSON开发中遇到的NoClassDefFoundError等异常,通过异常信息分析并提供解决方案,如导入json-bin、commons-lang、commons-beanutils等相关jar包,帮助开发者快速解决问题。
摘要由CSDN通过智能技术生成

    最近有很多朋友在做服务端JSON开发的时候遇到各种各样的异常,尤其是NoClassDefFoundError异常屡改不绝,他们经过在工程里面反复查找,没有发现有任何相关的错误。于是我将我所遇到的一些最常见的异常列举出来,方便大家及时的解决问题,节约时间。

1、我们在刚开始进行JSON开发的时候,必须导入一个json-bin的jar包,如果不导入这个包,我们经常使用的JSON,JSONObject,JSONArray,JSONSerializer等类将无法正常使用,工程里面将找不到相应的类。我在此使用的是myeclipse,所以只需要将此包在放在lib文件夹下即可。

2、我们新建一个web工程,编写好一段代码,例如:

编写一个bean文件Person.java,里面包含三个字段,int id,String name,string address。并重构其相关方法。

编写一个JSONServer.java,并且在里面添加如下一段代码:

	public static Person getPerson(){
		//在此我们构造一个person对象,并且返回给调用者。
		Person person = new Person(1, "amir", "chengdu");
		return person;
	}


编写一个JSONTools.java,并且在里面添加如下一段代码:

	public static String createJsonString(String key, Object value){
		//由于我们这个地方使用的是object,也就是说json处理的是对象,所以我们传入的是一个person对象
		JSONObject object = new JSONObject();
		object.put(key, value);
		return object.toString();
	}

最后在main方法当中,我们做如下测试:

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String msg = "";
		//测试获取单个person
		Person p = JsonService.getPerson();
		msg = JSONTools.createJsonString("person", p);
		System.out.println(msg);
	}
此时我们的代码已经写完,而且工程当中没有任何错误,真所谓万事俱备只欠东风了,于是我们运行一下看看会出现什么情况?


Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:621)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$000(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.security.AccessController.doPrivileged(Native Method)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值