• java用JSONObject生成json


    Json在前后台传输中,是使用最多的一种数据类型。json生成的方法有很多,自己只是很皮毛的知道点,用的时候,难免会蒙。现在整理下

    第一种:

       import net.sf.json.JSONArray;
       import net.sf.json.JSONObject;

    1、bean转为Json

    User u =  User();
    u.setAge(22);
    u.setUsername("hzucmj");
    u.setEnabled();
     
    JSONObject json = JSONObject.fromObject(u);
    System.out.println(json.toString());

    2、List转为Json

    User u1 =  User();
    u1.setAge(22);
    u1.setUsername("hzucmj");
    u1.setEnabled();
     
    User u2 =  User();
    u2.setAge(20);
    u2.setUsername("ctf");
    u2.setEnabled();
     
    List<Object> list =  ArrayList<Object>();
    list.add(u1);
    list.add(u2);
     
    JSONArray json = JSONArray.fromObject(list);
    System.out.println(json.toString());

    3、Map转为Json

    HashMap<String, Comparable> map =  HashMap<String, Comparable>();
    map.put("name", "hzucmj");
    map.put("age", 22);
    JSONObject json = JSONObject.fromObject(map);
    System.out.println(json.toString());

    4.创建json对象

    JSONObject jsonObj = new JSONObject();
                    jsonObj.put("id",1);
                    jsonObj.put("name","张勇");
                    jsonObj.put("sex","男");
                    jsonObj.put("age",24);
                    jsonObj.put("hobby",new String[]{"上网","游戏","跑步","音乐"});//这里就是一个String数组:String hobby[];(hobby:爱好)
                    System.out.println("我创建的json:"+jsonObj.toString());

    5.json对象转java对象

    Student stud = (Student) JSONObject.toBean(jsonObj,Student.class);
    System.out.println(stud.getName());

    6.创建json对象并添加属性

           JSONObject json1 = new JSONObject();
            json1.put("Int_att",25);//添加int型属性
            json1.put("String_att","str");//添加string型属性
            json1.put("Double_att",12.25);//添加double型属性
            json1.put("Boolean_att",true);//添加boolean型属性
    
            JSONObject json = new JSONObject();
            json.put("年龄",25);//添加int型属性
            json.put("名字","段鑫杰");//添加string型属性
    
            //添加JSONObject型属性
            JSONObject json2 = new JSONObject();
            json2.put("id", 1);
            json2.put("name", "tom");
            json1.put("JSONObject_att",json);
            //添加JSONArray型属性
            JSONArray jsonArray = new JSONArray();
            jsonArray.add("array0");
            jsonArray.add("array1");
            jsonArray.add("array2");
            jsonArray.add("array3");
            json1.put("JSONArray_att", jsonArray);
    
            System.out.println(json1.toString());
            System.out.println("获取名字:"+json1.getJSONObject("JSONObject_att").get("名字"));
            System.out.println("JSONArray_att:"+json1.getJSONArray("JSONArray_att"));

    第二种:

       import com.alibaba.fastjson.JSONArray;
       import com.alibaba.fastjson.JSONObject;

            String jsonArray = JSONArray.toJSONString(list);
            System.out.println("List转换json:"+jsonArray);

    直接调用 JSONArray.toJSONString(list)就行,感觉参数基本上都适合。帅吧,毕竟是阿里巴巴嘛。

    总结:两者都是基于JDK的轻量级的。菜鸟一枚,多谢大家指点!

     
  • 相关阅读:
    element多选下拉框的坑
    滚动条样式全局修改
    element表格自带排序的坑
    c++学习
    HTTP与TCP的区别和联系
    JSP整理
    学习目标
    mysql操作
    JAVA Date、String、Calendar类型之间的转化
    后台数据类型接收问题总结
  • 原文地址:https://www.cnblogs.com/xinxin-ting/p/8561701.html
Copyright © 2020-2023  润新知