package com.yt.manager.json;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Component;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* @Description:将对象转化为json格式
* @ClassName: JsonTest
* @Project: base-info
* @Author: zxf
* @Date: 2011-6-14
*/
@Component
public class JsonTest {
/**
* 把单个实体Bean转化为JSON格式
* @return JSONObject
*/
public JSONObject objectToJson() {
Student student = new Student();
student.setAge(18);
student.setName("zhangsan");
student.setSex("male");
return JSONObject.fromObject(student);
}
/**
* 把实体Bean数组转化成JSONArray对象
* @return JSON格式的字符串
*/
public String arrayToJson() {
Student stu = null;
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < 5; i++) {
stu = new Student();
stu.setId(i + 1 + "");
stu.setAge(i * 10 + 8);
stu.setName("张三" + i);
stu.setSex("和");
stuList.add(stu);
}
JSONArray jsonArray = JSONArray.fromObject(stuList);
return jsonArray.toString();
}
/**
* 把实体Bean数组转化成JSONArray对象
* @return JSONArray
*/
public JSONArray arrayToJson2() {
Student stu = null;
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < 5; i++) {
stu = new Student();
stu.setId(i + 1 + "");
stu.setAge(i * 10 + 8);
stu.setName("张三" + i);
stu.setSex("和");
stuList.add(stu);
}
return JSONArray.fromObject(stuList);
}
/**
* 多维JSON格式数组
*
* @return JSON格式的字符串
*/
public String array2ToJson() {
Student stu = null;
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < 5; i++) {
stu = new Student();
stu.setId(i + 1 + "");
stu.setAge(i * 10 + 8);
stu.setName("张三" + i);
stu.setSex("和");
stuList.add(stu);
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("list", stuList);
map.put("count", "10");
return JSONObject.fromObject(map).toString();
}
/**
* 多维JSON格式数组
*
* @return JSONObject
*/
public JSONObject array2ToJson2() {
Student stu = null;
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < 5; i++) {
stu = new Student();
stu.setId(i + 1 + "");
stu.setAge(i * 10 + 8);
stu.setName("张三" + i);
stu.setSex("和");
stuList.add(stu);
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("list", stuList);
map.put("count", "10");
return JSONObject.fromObject(map);
}
/**
* @param args
*/
public static void main(String[] args) {
JsonTest t = new JsonTest();
t.arrayToJson();
}
}
package com.yt.manager.json.controller;
import javax.annotation.Resource;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.yt.manager.json.JsonTest;
/**
* @Description:获取json格式的内容request到页面
* @ClassName: JsonController
* @Project: base-info
* @Author: zxf
* @Date: 2011-6-15
*/
@Controller
@RequestMapping("/json")
public class JsonController {
Logger log = Logger.getLogger(JsonController.class);
@Resource
JsonTest jsonTest;
/**
* 调用了一个返回Json数组格式的字符串,需要将字符串转化为JSONArray格式的数组,才能put到页面
* @param map
* @return
*/
@RequestMapping(value = "arrayToJson")
public String arrayToJson(ModelMap map) {
String jsonStr = jsonTest.arrayToJson();
log.info("数据:" + jsonStr);
map.put("json", JSONArray.fromObject(jsonStr));
return "json/arrayToJson";
}
/**
* 调用了一个返回JSONArray对象的数组,不需要任何转化即可put到页面
* @param map
* @return
*/
@RequestMapping(value = "arrayToJson2")
public String arrayToJson2(ModelMap map) {
map.put("json", jsonTest.arrayToJson2());
return "json/arrayToJson";
}
/**
* 调用返回JSON格式的字符串的方法,如要返回到页面, 需要将字符串重新转化为JSONObject对象
*
* @param map
* @return
*/
@RequestMapping(value = "array2ToJson")
public String array2ToJson(ModelMap map) {
String jsonStr = jsonTest.array2ToJson();
log.info("数据:" + jsonStr);
map.put("json", JSONObject.fromObject(jsonStr));
return "json/array2ToJson";
}
/**
* 调用直接返回JSONObject的方法,直接put到页面即可
*
* @param map
* @return
*/
@RequestMapping(value = "array2ToJson2")
public String array2ToJson2(ModelMap map) {
map.put("json", jsonTest.array2ToJson2());
return "json/array2ToJson";
}
/**
* 返回单个JSONObject对象,本方法直接调用了一个返回单个JSONObject对象的方法,
* 该JSONObject对象中只放了一个实体bean方法
*
* @param map
* @return
*/
@RequestMapping(value = "objectToJson")
public String objectToJson(ModelMap map) {
JSONObject jsonObject = jsonTest.objectToJson();
log.info("对象:" + jsonObject);
map.put("json", jsonObject);
return "json/objectToJson";
}
}
package com.yt.manager.json;
/**
* @Description:
* @ClassName: Student
* @Project: base-info
* @Author: zxf
* @Date: 2011-6-14
*/
public class Student {
public String id;
public int age;
public String name;
public String sex;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
分享到:
相关推荐
5. **XML与JSON互转**:JSON-lib还提供了XML和JSON之间的转换功能,这对于那些需要在XML和JSON间切换的应用非常有用。 综上所述,JSON-lib作为一个强大的Java JSON处理库,极大地简化了JSON在Java开发中的使用。...
总的来说,`json-lib-2.2.3-jdk15.jar`是一个适用于Java 1.5环境的JSON处理库,它提供了一整套工具,帮助开发者在Java应用程序中方便地处理JSON数据。尽管现在有更现代的替代品如Gson、Jackson等,但在某些场景下,...
在实际开发中,json-lib可以广泛应用于RESTful API开发、服务器间的数据交互、存储和恢复会话状态等多种场景。通过使用json-lib,开发者可以避免手动编写繁琐的JSON字符串拼接代码,提高开发效率和代码的可读性。 ...
在Android开发中,由于JSON是Android API中的标准数据交换格式,json-lib可以方便地用于处理服务器返回的数据或者保存应用的本地数据。需要注意的是,由于json-lib是一个第三方库,引入时需要将其打包到APK中,可能...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。JSON库如`json-lib`则提供了将Java对象转换为JSON格式和从JSON字符串反序列化为Java对象的功能。`json-lib-2.4...
总之,json-lib是一个强大的JSON处理库,它简化了Java应用与JSON数据的交互,无论是序列化Java对象为JSON,还是将JSON数据还原为Java对象,都提供了便捷的API。通过对`JsonObject.fromObject()`和`JsonArray.from...
在文件列表中的"jsonlib需要jar包",这可能是指包含了`json-lib`库及其所有依赖的JAR文件。在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以使用`json-lib`提供的功能,而无需通过Maven或其他...
5. **性能优化**:随着版本的升级,JSON-lib可能会进行性能优化,减少内存消耗,提高处理速度,这对于处理大量JSON数据的高性能应用至关重要。 6. **API使用**:理解JSON-lib提供的核心类,如JSONObject、JSONArray...
4. **XML与JSON互转**:除了基本的JSON操作,`json-lib`还提供了XML与JSON之间的转换功能,这对于需要在XML和JSON之间进行数据交换的应用非常有用。 5. **依赖包的集成**:`json-lib-2.3-jdk15`开发包包含了所有...
本文将深入探讨json-lib-2.4及其在Java开发中的应用。 首先,json-lib-2.4是一个Java库,它允许Java程序员将JSON格式的数据转换为Java对象,反之亦然。这个库特别适合在服务器端处理来自客户端(如网页)的JSON数据...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web开发中,它易于人阅读和编写,同时也易于机器解析和生成。在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务和应用程序之间的数据传输,因为它易于阅读和编写,同时也易于机器解析和生成。`json-lib`是一个Java库,它提供了一种将Java对象...
在提供的压缩包文件中,包含了一些依赖于`json-lib`运行的第三方库: 1. `commons-collections-3.2.1.jar`:Apache Commons Collections库,提供了大量的集合框架增强功能,如新的集合实现、迭代器、生成器和工厂,...
JSON-Lib是一个Java库,设计用于处理JSON格式的数据,使得在Java应用程序中进行JSON操作变得更加简单。 JSON-Lib-2.4-jdk15是JSON-Lib的一个特定版本,它针对JDK 1.5进行了优化,以适应该版本的Java环境。这个库...
在json-lib中,它提供了一些基本类型的操作支持。 3. **commons-beanutils-1.9.3.jar**:Apache Commons BeanUtils库简化了JavaBean属性的访问和操作,它使得处理Java对象的属性变得更加方便,这对于json-lib在转换...
标题中的"ezmorph-1.0.6.jar"和"json-lib-2.2.2-jdk15.rar"指的是两个不同的Java库,用于处理数据转换和JSON操作。ezmorph是一个Java库,提供了对象到对象的转换功能,而json-lib是另一个库,专门用于处理JSON...
本文将详细介绍`json-lib-2.4 jar`程序文件及其在Java开发中的应用。 `json-lib-2.4 jar`是JSON-Lib的一个版本,它是一个针对Java的开源项目,用于在Java对象和JSON数据之间进行转换。这个版本兼容JDK 15及更高版本...
本文将深入探讨json-lib 2.4这个jar包在Java开发中的应用。 json-lib是一个Java库,它提供了多种Java集合(如List、Map等)与JSON之间的转换功能。版本2.4是该库的一个稳定版本,支持jdk15及以上的Java运行环境。...
- **兼容性**:`json-lib-2.3-jdk15`特别针对JDK 1.5进行了优化,保证了在使用此版本Java环境的应用程序中的良好运行。 - **性能提升**:相比早期版本,2.3版可能进行了性能优化,提高了JSON序列化和反序列化的速度...
总的来说,`json-lib.jar`是一个强大的JSON处理工具,为Java开发者提供了一种简单的方式来处理JSON数据,广泛应用于各种需要数据交换的Java应用程序中。通过理解和熟练使用这个库,开发者可以提高其项目的数据处理...