使用
JSON
的方法
JSON
即
JavaScript Object Natation
,它是一种轻量级的数据交换格式,非常适合于服务器与
JavaScript
的交互。本文将快速讲解
JSON
格式,并通过代码示例演示如何分别在客户端和服务器端进行
JSON
格式数据的处理。
Json
必需的包
commons-httpclient-4.1.1jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar
commons-beanutils-1.8.3.jar
以上包可以从
http://commons.apache.org/index.html
http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
http://www.docjar.com/
中下载到。
测试类一:
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JSONObjectSample {
//创建JSONObject对象
private static JSONObject createJSONObject(){
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "kevin");
jsonObject.put("Max.score", new Integer(100));
jsonObject.put("Min.score", new Integer(50));
jsonObject.put("nickname", "picglet");
return jsonObject;
}
public static void main(String[] args) {
JSONObject jsonObject = JSONObjectSample.createJSONObject();
//输出jsonobject对象
System.out.println("jsonObject==>"+jsonObject);
//判读输出对象的类型
boolean isArray = jsonObject.isArray();
boolean isEmpty = jsonObject.isEmpty();
boolean isNullObject = jsonObject.isNullObject();
System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject);
//添加属性
jsonObject.element("address", "swap lake");
System.out.println("添加属性后的对象==>"+jsonObject);
//返回一个JSONArray对象
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(1,"another jsonArray value");
jsonObject.element("jsonArray", jsonArray);
JSONArray array = jsonObject.getJSONArray("jsonArray");
System.out.println("返回一个JSONArray对象:"+array);
//添加JSONArray后的值
//{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake",
//"jsonArray":["this is a jsonArray value","another jsonArray value"]}
System.out.println(jsonObject);
//根据key返回一个字符串
String jsonString = jsonObject.getString("name");
System.out.println("jsonString==>"+jsonString);
}
}
测试类二:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Json {
public static void main(String[] args) {
Json j = new Json();
j.bean2json();
}
public void arr2json() {
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray = JSONArray.fromObject(boolArray);
System.out.println(jsonArray);
// prints [true,false,true]
}
public void list2json() {
List list = new ArrayList();
list.add("first");
list.add("second");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
// prints ["first","second"]
}
public void createJson() {
JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']");
System.out.println(jsonArray);
// prints ["json","is","easy"]
}
public void map2json() {
Map<String,String> map = HashMap<String,String>()
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
// prints
// ["name":"json","bool":true,"int":1,"arr":["a","b"],"func":function(i){
// return this.arr[i]; }]
}
public void bean2json() {
JSONObject jsonObject = JSONObject.fromObject(new MyBean());
System.out.println(jsonObject);
/*
* prints
* {"func1":function(i){ return this.options[i];
* },"pojoId":1,"name":"json","func2":function(i){ return
* this.options[i]; }}
*/
}
public void json2bean() {
String json = "{name=\"json2\",func1:true,pojoId:1,func2:function(a){ return a; },options:['1','2']}";
JSONObject jb = JSONObject.fromString(json);
JSONObject.toBean(jb, MyBean.class);
System.out.println();
}
public void createAJsonObject(){
JSONObject jsonObject = new JSONObject();
jsonObject.element("name", "周星星");
jsonObject.element("sex", "male");
jsonObject.element("age", 18);
jsonObject.element("job", "student");
System.out.println(jsonObject.get("name"));// 周星星
System.out.println(jsonObject.get("job"));// student
System.out.println(jsonObject.getString("sex"));// male
System.out.println(jsonObject.getInt("age"));// 18
String json = "{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}";
JSONObject jsonObject = JSONObject.fromObject(json);
//或者使用 JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(json);
System.out.println(jsonObject.get("name"));// 周星星
System.out.println(jsonObject.get("job"));// student
System.out.println(jsonObject.getString("sex"));// male
System.out.println(jsonObject.getInt("age"));// 18
}
}
操作的bean:
import net.sf.json.JSONFunction;
public class MyBean {
private String name = "json";
private int pojoId = 1;
// private char[] options = new char[] { 'a', 'f' };
private String func1 = "function(i){ return this.options[i]; }";
private JSONFunction func2 = new JSONFunction(new String[] { "i" },
"return this.options[i];");
// getters & setters
......
}
分享到:
相关推荐
总结来说,json-lib-2.2.2-jdk15.jar是JSON处理的一个实用库,适用于Java和Android平台。它的功能包括JSON对象的序列化与反序列化、XML与JSON的互转,以及自定义序列化等。虽然有更新的JSON库出现,但json-lib仍然在...
总结起来,JSON-Lib是一个强大的工具,它为Java开发者提供了一种高效且直观的方式来处理JSON数据。无论是在服务器端还是客户端,它都极大地简化了JSON格式数据的转换工作,从而提高了开发效率并增强了应用程序的功能...
总结来说,`json-lib`是Java开发者处理JSON数据的一个强大工具,提供了一整套解决方案,从JSON字符串的解析到Java对象的转换,以及与其他数据格式的交互。这个资源包包含所有必要的依赖,使得开发者能快速集成和使用...
总结起来,json-lib作为Java开发中的一个强大工具,简化了JSON操作,提高了开发效率。它的全面功能、良好的兼容性和扩展性使其成为处理JSON数据的首选库之一。在实际工作中,根据项目的具体需求,合理利用json-lib的...
JSON(JavaScript Object Notation...总结来说,json-lib是一个强大的Java JSON处理库,提供了丰富的API来处理JSON数据。官方的CHM文档是学习和使用该库的重要参考资料,能够帮助开发者快速掌握其用法,提高开发效率。
总结一下,`json-lib-2.4-jdk15.jar`和`ezmorph-1.0.2.jar`是两个在Java开发中处理JSON数据的关键工具。它们提供了JSON序列化、反序列化、类型转换等功能,对于构建Web服务、API接口以及处理JSON格式的数据交换具有...
在使用`json-lib`时,你需要导入相关的jar包,并且可以调用其提供的API来进行操作。例如,你可以使用`net.sf.json.JSONObject`类将Java Bean转换为JSON,使用`net.sf.json.util.JSONTokener`解析JSON字符串为Java...
总结起来,`json-lib-2.2.3-jdk15.jar` 是一个针对Java的JSON处理库,适用于Android开发,提供序列化和反序列化功能,以及XML到JSON的转换。了解和正确使用这个库可以简化数据交换,并在不同系统间有效地传递信息。
总结来说,`json-lib.jar`是一个强大的JSON处理工具,适用于各种Java环境,无论你是新手还是经验丰富的开发者,都能从中受益。它简化了JSON和Java对象之间的交互,提高了开发效率,是Java Web开发中不可或缺的工具之...
总结一下,`json-lib`是一个强大的工具,它简化了Java与JSON之间的数据转换。无论你是要处理简单的Java对象还是复杂的集合和映射,它都能提供高效且易于使用的API。通过深入学习和实践,你可以充分利用这个库来提升...
总结来说,Json-lib的六个JAR包共同构成了一个强大的JSON处理工具集,涵盖了JSON与Java对象之间的相互转换、数据类型转换、集合操作以及日志记录等功能,极大地简化了Java开发者处理JSON数据的工作。在Web服务、...
- 引入必要的JAR包,包括struts2-core.jar、json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar。 - 配置struts.xml,声明Action及其结果类型。 - 创建Action类并实现需要的方法。 - 在Action方法中返回...
总结来说,"json-lib用例所需jar包和java类 demo"是一个关于如何在Java项目中使用json-lib库的示例。它展示了如何将Java对象转换成JSON格式,以及如何从JSON数据还原Java对象,这对于在Web服务和应用程序之间交换...
找json的关联实在太麻烦了。总结了下。 commons-httpclient-3.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar json-lib-2.2.3-jdk13.jar ezmorph-1.0.6.jar commons-collections-3.2.1.jar
总结来说,`json-lib`是Java开发中处理JSON数据的一个强大工具,它提供了丰富的功能,包括对象到JSON的序列化、JSON到对象的反序列化、XML与JSON之间的转换,且支持多种Java对象模型,性能优秀,并且拥有活跃的社区...
总结起来,`json-lib-2.4-jdk15`是专为JDK15优化的JSON处理库,它提供了将Java对象与JSON进行转换的功能,以及XML与JSON之间的互换。然而,随着技术的发展,现在有更多的高级JSON库可以选择,以满足更高效、更灵活的...
总结来说,`json-lib`是一个Java开发中的JSON处理工具,它简化了JSON数据与Java对象之间的转换过程。正确地理解和使用`json-lib`,能够帮助你有效地处理Web服务中的数据交换,提高开发效率。在使用时,注意处理好其...
在本例中,"springmvc-json-lib.rar"可能包含了一个完整的SpringMVC项目,其中包含了配置文件、源代码和JSON库的依赖。为了使用这个项目,你需要将其解压,导入到IDE中,配置好项目的依赖,然后就可以运行和调试了。...
总结起来,`json-lib`通过提供自定义转换功能,使得我们可以根据业务需求对复杂类型进行定制化的JSON转换。通过创建并注册自定义的转换器,可以处理那些标准转换无法满足的场景,提高前后端数据交互的灵活性和准确性...
总结来说,JSON-lib-all是Java开发中处理JSON数据的一个综合解决方案,它整合了一系列优秀的开源库,如Ez Morph、Commons Collections、BeanUtils等,使得在Java环境中进行JSON操作变得更加简单和高效。无论是在构建...