zoukankan      html  css  js  c++  java
  • (转)JSONObject的toBean 和 fromObject

    public static void main(String[] args) {

    Map map=new HashMap();
    map.put("我","妹");
    map.put("擦","哇");
    map.put("你","呀");
    JSONObject json = JSONObject.fromObject(map);
    System.out.println(json);
    }

    輸出的結果 {"我":"妹","擦":"哇","你":"呀"}

    toBean();

    首先一个javabean对象
    public class Student {

    private int id ;
    private String name;
    private int age;

    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }

    public String toString(){
    return this.id + ", " + this.name + ", " + this.age;
    }
    }

    然后测试toBean方法的类
    import net.sf.json.JSONObject;

    public class ToBeanTest {

    public static void main(String[] args) {

    String json = "{id:'1001',name:'张三',age:'22'}";
    Student stu = new Student();
    JSONObject obj = JSONObject.fromObject(json);
    stu = (Student)JSONObject.toBean(obj, Student.class);
    System.out.println(stu);
    }

    }
    输出结果为1001, 张三, 22 
    然后我们在修改修改
    import net.sf.json.JSONObject;

    public class ToBeanTest {

    public static void main(String[] args) {

    String json = "{id:'1001',name:'张三'}";
    Student stu = new Student();
    JSONObject obj = JSONObject.fromObject(json);
    stu = (Student)JSONObject.toBean(obj, Student.class);
    System.out.println(stu);
    }

    }
    把年龄给去掉age为int型,输出结果为:1001, 张三, 0 
    然后再做小小改动
    import net.sf.json.JSONObject;

    public class ToBeanTest {

    public static void main(String[] args) {

    String json = "{id:'1001',age:'22'}"; 
    Student stu = new Student();
    JSONObject obj = JSONObject.fromObject(json);
    stu = (Student)JSONObject.toBean(obj, Student.class);
    System.out.println(stu);
    }

    }
    把姓名给去掉name为String型,输出结果为:1001, null, 22 
    再改动一下:
    import net.sf.json.JSONObject;

    public class ToBeanTest {

    public static void main(String[] args) {

    String json = "{id:'1001',name:'张三',age:'nn'}";
    Student stu = new Student();
    JSONObject obj = JSONObject.fromObject(json);
    stu = (Student)JSONObject.toBean(obj, Student.class);
    System.out.println(stu);
    }

    }
    把age改成非整形,输出结果为:
    1001, 张三, 0 

    再改动一下:
    import net.sf.json.JSONObject;

    public class ToBeanTest {

    public static void main(String[] args) {

    String json = "{id:'1001',name:'张三',age:'22',sex:'男'}";
    Student stu = new Student();
    JSONObject obj = JSONObject.fromObject(json);
    stu = (Student)JSONObject.toBean(obj, Student.class);
    System.out.println(stu);
    }

    }
    加了一个sex:'男'的一对键值,输出结果为:
    1001, 张三, 22

  • 相关阅读:
    FluentValidation 验证框架笔记1
    AutoMapper 笔记1
    MediatR框架笔记1
    vscode调试python时提示无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方法
    Selenium使用自带浏览器自动化
    Selenium启动Chrome插件(Chrome Extensions)
    Gitee,Github 图片转直链
    CentOS 7.3 修改root密码 passwd: Authentication token manipulation error
    阿里云服务器 被入侵植入dhpcd导致cpu飙升100%问题
    Github 切换分支
  • 原文地址:https://www.cnblogs.com/michaelkai/p/3180101.html
Copyright © 2011-2022 走看看