zoukankan      html  css  js  c++  java
  • 使用jsonlib将java对象转换成json字符串

    代码如下:
    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 = new Student();
    stus.setAge(i*10+8);
    stus.setName("zhang"+i);
    stus.setSex("male");
    //添加到list,一会儿用
    stuList.add(stus);
    }
    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"}}
    }
    }

    commons-beanutils-1.8.0.jar (225.9 KB) 下载次数: 17

      commons-logging-1.1.1.jar (59.4 KB) 下载次数: 10
        commons-lang-2.4.jar (255.7 KB) 下载次数: 10
          json-lib-2.2.3-jdk15.jar (145 KB) 下载次数: 14
            ezmorph-1.0.6.jar (84.5 KB) 下载次数: 15
              commons-collections-3.2.1.jar (561.9 KB) 下载次数: 14
            • 相关阅读:
              自制404页面
              Http错误代码含义
              数据访问基础类(基于Access数据库)
              NTILE函数在SQL Server 2000中的实现方法
              矩阵螺旋输出
              分区排名方案和排名值效率分析【图文+测试代码】
              安装eclipse axis2 插件(links 方式)
              perforce关闭服务后无法重启
              A4纸网页打印中对应像素的设定和换算
              2005数据库脚本在SQL2000上执行
            • 原文地址:https://www.cnblogs.com/qumao5736/p/1457620.html
            Copyright © 2011-2022 走看看