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. CUBRID学习笔记 19 sql语句1

    创建 欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 create table tableName (字段名 字段类型 pr ...

  2. ServiceStack.OrmLite 笔记4 删

    删除 db.DeleteAll(); //各种姿势 db.Delete(p => p.Age == 27);// db.Delete(q => q.Where(p => p.Age ...

  3. FJNU 1154 Fat Brother And His Love(胖哥与女神)

    FJNU 1154 Fat Brother And His Love(胖哥与女神) Time Limit: 2000MS   Memory Limit: 257792K [Description] [ ...

  4. iOS - Swift NSData 数据

    前言 public class NSData : NSObject, NSCopying, NSMutableCopying, NSSecureCoding public class NSMutabl ...

  5. Mysql 系统参数 系统变量 状态变量

    1.系统参数,也就是命令行选项,执行命令的时候,后面跟的参数,系统参数很多,不可能每次执行程序的时候,指定这些参数.这些参数写在配置文件(Windows下是my.ini,Linux是my.cnf),执 ...

  6. access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")

    在开启derby服务出现该错误(测试hibernate 连接数据库时  使用myeclipse2014自带的数据库--windows->show view->other->Myecl ...

  7. jackson annotations注解详解 (zhuan)

    http://blog.csdn.net/sdyy321/article/details/40298081 ************************************** 官方WIKI: ...

  8. google_apactest_round_A_problem_D

    先尝试过小数据 题目 有8张卡牌,每个卡牌都可以有不同的等级,每个卡牌的不同等级具有不同的攻击力,可以通过花钱给卡牌充值从而升级,且每次只能升一级,比如可以花1个硬币将卡牌2从1级升级到2级,同时卡牌 ...

  9. HBase之表空间

    1.介绍 在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分.Apache HBase从0.98.0, 0.95.2两个版本开始支 ...

  10. 2010 word 如何新建目录

    首先插入一个bullet 填充内容,编好编号,选择文字,右键,然后选择相应的level,然后点击一级菜单reference, 然后点击table of contents, 选择某一个样式,然后插入成功 ...