`
shuaigg.babysky
  • 浏览: 553054 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用json-lib将java对象转换成json字符串

阅读更多
   学会了在j2ee中使用ajax后,有时候从服务器返回客户端的数据是对象,自己手动拼凑
json字符串容易出错,通过谷歌知道了json-lib这个类库,方便的支持java中对象到json字符串的转化。
    看source-forge的json-lib介绍说,需要
jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6

    这些jar包的支持,下载下来试了一把,挺好用的,写出来,与大家分享。
代码如下:

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 Test {
public static void main(String[] args) {
//当是对象的时候
Student student = new Student();
student.setAge(18);
student.setName("zhangsan");
student.setSex("male");
JSONObject jsonObject = JSONObject.fromObject(student);
System.out.println(jsonObject);//输出{"age":18,"name":"zhangsan","sex":"male"}
//当是数组或list的时候
Student[] stus = new Student[5];
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < stus.length; i++) {
stus[i] = new Student();
stus[i].setAge(i*10+8);
stus[i].setName("zhang"+i);
stus[i].setSex("male");
//添加到list,一会儿用
stuList.add(stus[i]);
}
JSONArray jsonArray = JSONArray.fromObject(stus);
System.out.println(jsonArray);//和下面打印的结果相同
//结果:[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","sex":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"age":48,"name":"zhang4","sex":"male"}]
JSONArray jsonArrayFromList = JSONArray.fromObject(stuList);
System.out.println(jsonArrayFromList);//和上面打印的结果相同
//当既有对象又有数组的时候
Map<String,Object> map = new HashMap<String,Object>();
Teacher teacher = new Teacher();
teacher.setAge(30);
teacher.setName("laoshi");
teacher.setSex("male");
map.put("teacher", teacher);
map.put("student", stuList);
JSONObject jsonObjectFromMap = JSONObject.fromObject(map);
System.out.println(jsonObjectFromMap);
//结果:
//{"student":[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","sex":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"age":48,"name":"zhang4","sex":"male"}],"teacher":{"age":30,"name":"laoshi","sex":"male"}}
}
}
分享到:
评论
5 楼 暖竹竹 2013-07-18  
简单易懂,很实用,感谢分享咯~~
4 楼 雨雾纷飞 2012-07-19  
  不错,连包也有,很是感谢!!!!
3 楼 cy86201885 2012-03-31  
恩恩,很详细,正好要急用,谢谢了
2 楼 ba1du 2011-09-01  
真的很详细,学习了。
1 楼 夕雨下 2011-06-14  
jar包是好东西啊, 谢谢lz分享

相关推荐

    json-lib-2.4-jdk15.jar下载

    它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 json-lib的主要功能有: 1. 简单易用:json-lib的API简单易于使用,一般只...

    使用json-lib自定义复杂类型转换为Json字符串

    使用json-lib重写toJsonString方法,从而方便处理后台数据显示到前台的情况。

    json-lib 使用说明(How to use json-lib)【官网教程】

    json-lib 提供了强大的JSON支持,利用Ajax提交上来的JSON字符串进行解析,可以转化为POJO对象,可以从POJO转化为js可以识别的JSON对象。方便易用!

    JSON 字符串 与 java 对象的转换

    JSON 字符串 与 java 对象的转换 包括说明代码和需要的jar包 commons-beanutils-1.7.0.jar commons-lang-2.1.jar ezmorph-1.0.2.jar json-lib-1.1-jdk15.jar 之前找了一些,说是只需要引入json-lib-1.1-jdk15.jar...

    json-lib-2.4-jdk15及其依赖jar包

    能够帮助大家在java类实现json字符串与java对象间的转换

    json-lib 2.4 的 jar 包

    java 中使用 json 进行数据传递,可以 java 生成 json 字符串,以及使用 java 解析 json 字符串

    json-lib将json格式的字符串,转化为java对象的实例.docx

    json-lib将json格式的字符串,转化为java对象的实例.docx

    json-lib完整架包

    //字符串json转换成json, 根据情况是用JSONArray或JSONObject @Test public void testJsonStrToJSON(){ JSONArray jsonArray = JSONArray.fromObject( "['json','is','easy']" ); System.out.println( ...

    json-lib2.4所需要的6个jar包

    java对象和json字符串转换所需的6个jar包,包括 commons-beanutils-1.8.0.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging.jar, ezmorph-1.0.6.jar, json-lib-2.4-jdk15.jar

    json-lib 使用总结--java对象转json字符串

    NULL 博文链接:https://lic0112.iteye.com/blog/2156709

    java解析json(json-lib-2.4)

    java操作json文件的6个包。缺少其一都容易报错。亲测可用,直接导入项目即可 1. commons-beanutils-1.8.0 2. commons-collections-3.2.1 3. commons-lang-2.6 4. commons-logging-1.1.1 5. ezmorph-1.0.6 6. json-...

    json-lib-2.23

    json依赖包,在生成json对象字符串传输到前台的时候方便处理,而且很多浏览器都支持直接解析json对象。

    net.sf.json jar包 最全版

    JAVA中使用JSON进行数据传递,用于java生成json字符串,和java解析json字符串(如果要使程序可以运行的话必须引入JSON-lib包,而JSON-lib包是一个beans,collections,maps,java arrays和XML和JSON互相转换的包 ...

    json_lib使用实例:java对象与json字符串的互转

    里面有详细的json字符串和java对象(JavaBean,HashMap,ArrayList,Array...)的互相转化

    对象转换成json字符串(包括jar包)

    把对象转换成json字符串的实例,包括单独的对象、List、对象和List混合。MyEclipse工程,里面包括五个Jar包:commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.4.jar,commons-logging-...

    net.sf.json2.4

    java中封装json数据的包,net.sft.json包,JAVA中使用JSON进行数据传递,用于java生成json字符串,和java解析json字符串。

    json-lib-2.4及它的所有依赖jar包

    json-lib-2.4及其所有依赖jar包(最新版),最主要用于java编写的后台json与字符串的转换

    json-lib.jar(集合包).

    json-lib.jar(集合包)是Java语言处理JSON格式字符串的外部jar包,具体列表如下: --json-lib-2.2.3-jdk15.jar --ezmorph-1.0.3.jar --commons-logging-1.1.1.jar --commons-lang-2.3.jar --commons-httpclient-3.1....

Global site tag (gtag.js) - Google Analytics