zoukankan      html  css  js  c++  java
  • 日常开发问题解决

    对象类型转换:

    1、Java对象-->JSON对象
    2、Java对象-->JSON字符串
    3、JSON对象-->JSON字符串
    4、JSON对象-->Java对象
    5、JSON字符串-->JSON对象
    6、JSON字符串-->Java对象
    7、JSONArray
    8、源码加实例
    9、具体操作
    10、JSON与java数据类型对比

    JSONObject是JSON的子类。JSON是一个抽象类,JSON中有一个静态方法parseObject(String text),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(String text)。所以两者没什么区别,一个是用父类去调用父类自己的静态的parseObject(String text),一个是用子类去调用父类的静态parseObject(String text),两者调的是同一个方法。

    1、Java对象-->JSON对象
    (JSONObject)JSONObject.toJSON(Java对象实例)

    public class JSON2JavaTest{
    public static void main(String[] args) {
    Student stu = new Student("公众号编程大道", "m", 2);

    //Java对象转化为JSON对象
    JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);
    System.out.println("Java对象转化为JSON对象 " + jsonObject);//{"name":"公众号编程大道","age":2,"sex":"m"}

    }
    }

    Student stu = new Student("12","tom");
    JSONObject object = new JSONObject();
    object.put("name",stu.getName());
    object.put("age",stu.getAge());
    System.out.println(object.get("name") + ":" + object.get("age"));

    JSONArray jsonArrayRow = new JSONArray();
    jsonArrayRow.add(object);
    jsonArrayRow.add(new Student("14","张三"));
    System.out.println(jsonArrayRow);

    2、Java对象-->JSON字符串
    JSONObject.toJSONString(Java对象实例)
    public class JSON2JavaTest{
    public static void main(String[] args) {
    Student stu = new Student("公众号编程大道", "m", 2);

    //Java对象转换成JSON字符串
    String stuString = JSONObject.toJSONString(stu);
    System.out.println("Java对象转换成JSON字符串 " + stuString);//{"age":2,"name":"公众号编程大道","sex":"m"}
    }
    }

    3、JSON对象-->JSON字符串
    JSONObject.toJSONString();

    public class JSON2JavaTest{
    public static void main(String[] args) {
    Student stu = new Student("公众号编程大道", "m", 2);

    //先转成JSON对象
    JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);

    //JSON对象转换为JSON字符串
    String jsonString = jsonObject.toJSONString();
    System.out.println("JSON对象转换为JSON字符串 " + jsonString);//{"name":"公众号编程大道","age":2,"sex":"m"}

    }
    }

    4、JSON对象-->Java对象
    JSONObject.toJavaObject(JSON对象实例, Java对象.class);

    public class JSON2JavaTest{
    public static void main(String[] args) {
    Student stu = new Student("公众号编程大道", "m", 2);

    //先转成JSON对象
    JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);

    //JSON对象转换成Java对象
    Student student = JSONObject.toJavaObject(jsonObject, Student.class);
    System.out.println("JSON对象转换成Java对象 " + student);//Student{name='公众号编程大道', sex='m', age=2}
    }
    }

    5、JSON字符串-->JSON对象
    JSONObject.parseObject(JSON字符串)
    public class JSON2JavaTest{
    public static void main(String[] args) {
    String stuString = "{"age":2,"name":"公众号编程大道","sex":"m"}";

    //JSON字符串转换成JSON对象
    JSONObject jsonObject1 = JSONObject.parseObject(stuString);
    System.out.println("JSON字符串转换成JSON对象 " + jsonObject1);//{"sex":"m","name":"公众号编程大道","age":2}
    }
    }

    6、JSON字符串-->Java对象
    JSONObject.parseObject(JSON字符串, Java对象.class);
    public class JSON2JavaTest{
    public static void main(String[] args) {
    String stuString = "{"age":2,"name":"公众号编程大道","sex":"m"}";

    //JSON字符串转换成Java对象
    Student student1 = JSONObject.parseObject(stuString, Student.class);
    System.out.println("JSON字符串转换成Java对象 " + student1);//Student{name='公众号编程大道', sex='m', age=2}
    }
    }


    7、JSONArray数组
    JSONArray中的数据转换为String类型需要在外边加"";不然会报出类型强转异常!
    public String testArray(){
    String s = "[{"id":"17051801","name":"lucy"},{"id":"17051802","name":"peter"}]";
    JSONArray array = JSONObject.parseArray(s);
    for (int i = 0; i < array.size(); i++) {
    //JSONArray中的数据转换为String类型需要在外边加"";不然会报出类型强转异常!
    String str = array.get(i)+"";
    JSONObject object = JSON.parseObject(str);
    System.out.println(object.get("name"));
    }
    return "index";

    }

    返回值:

    lucy
    peter

  • 相关阅读:
    并发编程
    进程的介绍
    操作系统详解
    进程的粗略理解
    打印进度条
    FTP上传下载文件(面向对象版)
    socket套接字
    FTP上传下载文件(函数简易版)
    osi七层协议 Open System Interconnection
    __str__和__repr__的区别
  • 原文地址:https://www.cnblogs.com/lx06/p/14915102.html
Copyright © 2011-2022 走看看