JSONObject、JSONArray的构造

本文详细介绍如何将Java对象及Map集合转换成JSON字符串。首先,通过定义Teacher和Transport类,展示如何使用Java对象生成JSON。其次,演示了如何利用Map集合创建JSON字符串。文章深入解析了JSON生成过程,包括属性的GET和SET方法的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.定义一个teacher类(Java 对象转JSON 属性为空,请检查 类中属性是否带有标准的GET和SET方法)

public class Teacher {
    private String name;
    private String sex;
    private int age;

    private List<Transport> myTool;
    public Teacher(){
    }
    
    public Teacher(String name,String sex,int age,List<Transport> myTool){
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.myTool = myTool;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public List<Transport> getMyTool() {
        return myTool;
    }

    public void setMyTool(List<Transport> myTool) {
        this.myTool = myTool;
    }

}

2.定义一个交通工具类

public class Transport {
    
    private String name;
    private float price;
    
    public Transport(){
        
    }
    
    public Transport(String name,float price){
        this.name = name;
        this.price = price;
    }
    
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getPrice() {
        return price;
    }
    public void setPrice(float price) {
        this.price = price;
    }  
}

3.利用java对象生成json字符串

public class Demo_creajsonFromObject {
    // 利用java对象生成json字符串
    public JSONObject createJsonFromObject(Object object) {
        return JSONObject.fromObject(object);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo_creajsonFromObject demo = new Demo_creajsonFromObject();

        Teacher t = new Teacher();
        t.setName("张三");
        t.setSex("男");
        t.setAge(21);

        Transport bike = new Transport("自行车", 267);
        Transport motorcycle = new Transport("摩托车", 3267);
        Transport car = new Transport("小汽车", 100000);
        List<Transport> tools = new ArrayList<Transport>();
        tools.add(bike);
        tools.add(motorcycle);
        tools.add(car);

        t.setMyTool(tools);

        JSONObject ob = demo.createJsonFromObject(t);

        System.out.println(ob);

    }

}

生成的json串为:

{
    "age": 21,
    "myTool": [
        {
            "name": "自行车",
            "price": 267
        },
        {
            "name": "摩托车",
            "price": 3267
        },
        {
            "name": "小汽车",
            "price": 100000
        }
    ],
    "name": "张三",
    "sex": "男"
}

使用map集合生成json字符串

public class Demo_creajsonFromMap {

    //使用map集合生成json字符串
    public JSONObject createJsonFromMap(Map<String,String> map){
        JSONObject jsob=new JSONObject();
        jsob.putAll(map);
        return jsob;
    }
    
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo_creajsonFromMap demo=new Demo_creajsonFromMap();
        
        Map<String,String> mmap=new HashMap<String,String>();
        mmap.put("name", "张三");
        mmap.put("sex", "男");
        mmap.put("age", "21");
        
        JSONObject ob=demo.createJsonFromMap(mmap);
        System.out.println(ob);
        
    }

}

结果为:

{
    "sex": "男",
    "name": "张三",
    "age": "21"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值