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. POJ 1142 Smith Numbers(史密斯数)

    Description 题目描述 While skimming his phone directory in 1982, Albert Wilansky, a mathematician of Leh ...

  2. ZOJ 3819 Average Score(平均分)

    Description 题目描述 Bob is a freshman in Marjar University. He is clever and diligent. However, he is n ...

  3. Android——android学习(android目录与AndroidManifest解析)

    res目录:存放android项目的各种资源文件 layout:存放界面布局文件 values:存放各种xml格式的资源文件 strings.xml:字符串资源文件: colors.xml:颜色资源文 ...

  4. STORM_0005_第一个非常简单的storm topology的提交运行

    配置好storm之后就可以开始在eclipse里面写topology了. 下面是我在网上搜到的一个简单的例子,我按照自己的理解注释了一下. 第一步,创建mvn工程 这是pom.xml文件 <pr ...

  5. iOS - OC NSFileManager 文件管理

    前言 @interface NSFileManager : NSObject @interface NSFileHandle : NSObject <NSSecureCoding> NSF ...

  6. iOS - UIImageView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIImageView : UIView @available(iOS 2.0, *) public class U ...

  7. 跨代的对决 英特尔i7-6700HQ对比i7-4720HQ性能测试

    http://itianti.sinaapp.com/index.php/cpu 跨代的对决 英特尔i7-6700HQ对比i7-4720HQ性能测试 2015-10-13 19:46:31 来源:电脑 ...

  8. ubuntu_常用命令_01

    1. 获取超级用户权限(需要输入超级用户的密码) sudo -i 2. 文本编辑器(暂时觉得 类似Windows里面的txt,更多功能有待发现) gedit /xxx/yyy ZC: 貌似 这个命令 ...

  9. JavaWeb 5 Tomcat

    5 Tomcat 1 Web开发入门            1.1 引入                之前的程序: java桌面程序,控制台控制,socket gui界面.javase规范      ...

  10. 1 HTML

    1 HTML 基础知识 软件的结构:    C/S(Client  Server)结构的软件: 比如: QQ. 极品飞车. 飞信 . 迅雷      cs结构的软件的缺点:更新的时候需要用户下载更新包 ...