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. [数据结构与算法]哈夫曼(Huffman)树与哈夫曼编码

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

  2. Windows Internals学习笔记(三)Procdump的使用

    参考资料: 1. 下载地址 2. 使用示例

  3. [转载] 首席工程师揭秘:LinkedIn大数据后台是如何运作的?(一)

    本文作者:Jay Kreps,linkedin公司首席工程师:文章来自于他在linkedin上的分享:原文标题:The Log: What every software engineer should ...

  4. 在SSH框架中使用Spring的好处

    在SSH框假中spring充当了管理容器的角色.我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语句.Struts是用来 ...

  5. Hadoop与Spark比较

    先看这篇文章:http://www.huochai.mobi/p/d/3967708/?share_tid=86bc0ba46c64&fmid=0 直接比较Hadoop和Spark有难度,因为 ...

  6. Android App组件之ListFragment -- 说明和示例

    Android App组件之ListFragment -- 说明和示例 1 ListFragement介绍 ListFragment继承于Fragment.因此它具有Fragment的特性,能够作为a ...

  7. mybatis动态sql中foreach标签的使用

    foreach标签主要用于构建in条件,他可以在sql中对集合进行迭代.如下: <delete id="deleteBatch"> delete from user w ...

  8. s3c2440 J-flash 烧写 NOR flash

    视屏教程里是在NOR Flash 烧写了一个supervivi然后通过superViVi配合DNW下载Uboot程序到landflash第零块,由于我电脑室64位win7,官方提供的USB下载驱动不能 ...

  9. hiho_1069_最近公共祖先3

    题目 给出一棵家族树,树上的节点可以由名字唯一标识.给出若干个查询,查询的内容为两个名字,结果为两个名字的最近公共祖先. 题目链接: 最近公共祖先 分析 在线的RMQ + LCA 算法,先用dfs将树 ...

  10. 自定义view获取宽高

    View在构造函数初始化并未布局处理,此时宽高均为0,待所有控件初始化完毕后,由上级容器对内部各控件进行布局,此时控件才会具有位置与大小属性,可以通过以下方法获取:1.在ondraw()函数中获取,2 ...