JSONObject 对于放入的object,最终生成的json是什么样的?

两个JavaBean:

public class ClassBean {
private int grade;
private String className;
private boolean isExperimentalClass;
private List students;
//······
}
public class StudentBean {
private String stuName;
private int sno;
private Map scores;
private List hobby;
//·······
}

对于javeBean 生成JSON

public class JsonTest {
    public static void main(String[] args) {
        ClassBean classBean = new ClassBean();
        List stus = new ArrayList();
        StudentBean stu1 = new StudentBean();
        stu1.setSno(110701);
        stu1.setStuName("JIM");
        Map scores = new HashMap();
        scores.put("math", 95);
        scores.put("chinese", 95);
        scores.put("english", 92);
        stu1.setScores(scores);
        List hobby1 = new ArrayList();
        hobby1.add("run");
        hobby1.add("eat");
        hobby1.add("sleep");
        stu1.setHobby(hobby1);
        stus.add(stu1);
        StudentBean stu2 = new StudentBean();
        stu2.setSno(110702);
        stu2.setStuName("KIM");
        Map scores2 = new HashMap();
        scores2.put("math", 98);
        scores2.put("chinese", 96);
        scores2.put("english", 92);
        stu2.setScores(scores2);
        List hobby2 = new ArrayList();
        hobby2.add("read");
        hobby2.add("play");
        stu2.setHobby(hobby2);
        stus.add(stu2);
        classBean.setClassName("二班");
        classBean.setExperimentalClass(false);
        classBean.setGrade(1);
        classBean.setStudents(stus);
        
        JSONObject jobj = new JSONObject();
        jobj.put("class", classBean);
        System.out.println(jobj.toString());
    }
}

输出的结果:

{
    "class": {
        "className": "二班",
        "experimentalClass": false,
        "grade": 1,
        "students": [
            {
                "hobby": [
                    "run",
                    "eat",
                    "sleep"
                ],
                "scores": {
                    "math": 95,
                    "english": 92,
                    "chinese": 95
                },
                "sno": 110701,
                "stuName": "JIM"
            },
            {
                "hobby": [
                    "read",
                    "play"
                ],
                "scores": {
                    "math": 98,
                    "english": 92,
                    "chinese": 96
                },
                "sno": 110702,
                "stuName": "KIM"
            }
        ]
    }
}

生成json对象的更多相关文章

  1. PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)

    php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 错误:Cannot use object of type stdClass as arra ...

  2. JS 动态生成JSON对象

    JS 动态生成JSON对象,一般用到JSON传递参数的时候,会用到. function onGeneratedRow(columnsResult) { var jsonData = {}; colum ...

  3. aspx后台生成json对象

    json对象应用很广,有时,我们要把一些数据转化为json对象,就需要用到以下方法了. 1.使用Newtonsoft.Json.DLL (推荐使用) 下载地址:http://files.cnblogs ...

  4. javascript中字符串格式json如何转化成json对象

    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...

  5. javascript中字符串格式转化成json对象记录

    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...

  6. eval("("+json对象+")")

    var obj=eval("("+data+")"); 看看下面这条,应该能想到json的数据结构“+(json对象名)+”由于json是以”{}”的方式来开始 ...

  7. Json对象和字符串互相转换 数据拼接 JSON使用方式

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 一.JSON字符串转换为JSON对象: eval() 和 JSON.parse eg- json字符串: ...

  8. javascript json字符串转json对象方法

    /* * @method 将拼接好字符串格式的json 转成json对象 * @param jsonData param fomart: * var jsonData = "{name1:' ...

  9. JavaScript:JSON对象

    一.JSON对象概念 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScri ...

随机推荐

  1. [SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. C语言文法定义与C程序的推导过程

    program à external_declaration | program external_declaration <程序> ->  <外部声明> |  < ...

  3. 检测服务器IP端口是否可用

    private static double Scanner(string ip, int port) { try { System.Net.Sockets.TcpClient Tcp = new Sy ...

  4. 不含类解决最后一个li边距问题

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. poj3714Raid(平面最近点对)

    链接 模板 稍加一点标记 模板 #include <iostream> #include<cstdio> #include<cstring> #include< ...

  6. poj1329Circle Through Three Points(三角形外接圆)

    链接 套模板 不知道有没有x,y=0情况,不过这种情况都按+号输出的. #include <iostream> #include<cstdio> #include<cst ...

  7. mysql 执行计划的理解

    1.执行计划就是在sql语句之前加上explain,使用desc 也可以.2.desc有两个选项extended和partitions,desc extended 将原sql语句进行优化,通过show ...

  8. 26个Jquery使用小技巧

    下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元素 ...

  9. CentOS下源码安装MySQL

    一.创建mysql用户与组,相关目录 useradd mysql -s /sbin/nologin mkdir /usr/local/mysql chown -R mysql.mysql mkdir ...

  10. Gas Station

    Description: There are N gas stations along a circular route, where the amount of gas at station i i ...