JSONObject使用

JSONObject使用json对象转字符串publicstaticvoidconvertObject(){Studentstu=newStudent();stu.setName("JSON");stu.setAge("23");stu.setAddress("北京市西城区");//1、使用JS…

大家好,欢迎来到IT知识分享网。JSONObject使用"

  • json对象转字符串
public static void convertObject() { 
   
        
        Student stu=new Student();
        stu.setName("JSON");
        stu.setAge("23");
        stu.setAddress("北京市西城区");

        //1、使用JSONObject
        JSONObject json = JSONObject.fromObject(stu);
        //2、使用JSONArray
        JSONArray array=JSONArray.fromObject(stu);
        
        String strJson=json.toString();
        String strArray=array.toString();
        
        System.out.println("strJson:"+strJson);
        System.out.println("strArray:"+strArray);
    }

结果:

strJson:{"address":"北京市西城区","age":"23","name":"JSON"}
strArray:[{"address":"北京市西城区","age":"23","name":"JSON"}]
  • json字符串转java对象
public static void jsonStrToJava(){ 
   
      //定义两种不同格式的字符串
      String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}";
      String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}]";
  
      //1、使用JSONObject
      JSONObject jsonObject=JSONObject.fromObject(objectStr);
      Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);
      
      //2、使用JSONArray
      JSONArray jsonArray=JSONArray.fromObject(arrayStr);
      //获得jsonArray的第一个元素
      Object o=jsonArray.get(0);
      JSONObject jsonObject2=JSONObject.fromObject(o);
      Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);
      System.out.println("stu:"+stu);
      System.out.println("stu2:"+stu2);
      
  }

结果:

stu:Student [name=JSON, age=24, address=北京市西城区]
stu2:Student [name=JSON, age=24, address=北京市西城区]
  • list转json字符串
public static void listToJSON(){ 
   
       Student stu=new Student();
       stu.setName("JSON");
       stu.setAge("23");
       stu.setAddress("北京市海淀区");
       List<Student> lists=new ArrayList<Student>();
       lists.add(stu);
       //1、使用JSONObject
       //JSONObject listObject=JSONObject.fromObject(lists);
       //2、使用JSONArray
       JSONArray listArray=JSONArray.fromObject(lists);
       
       //System.out.println("listObject:"+listObject.toString());
       System.out.println("listArray:"+listArray.toString());
       
   }

结果:

//注释部分结果,报错
Exception in thread "main" net.sf.json.JSONException: 'object' is an array. Use JSONArray instead
//以下是正确部分写法
listArray:[{"address":"北京市海淀区","age":"23","name":"JSON"}]
  • json字符串转list
public static void jsonToList(){ 
   
       String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}]";
       //转化为list
               List<Student> list2=(List<Student>)JSONArray.toList(JSONArray.fromObject(arrayStr), Student.class);
               
               for (Student stu : list2) { 
   
                   System.out.println(stu);
               }
               //转化为数组
               Student[] ss =(Student[])JSONArray.toArray(JSONArray.fromObject(arrayStr),Student.class);
               for (Student student : ss) { 
   
                   System.out.println(student);
               }
       
       
   }

结果:

Student [name=JSON, age=24, address=北京市西城区]
Student [name=JSON, age=24, address=北京市西城区]
  • map转json字符串
public static void mapToJSON(){ 
   
       Student stu=new Student();
       stu.setName("JSON");
       stu.setAge("23");
       stu.setAddress("中国上海");
       Map<String,Student> map=new HashMap<String,Student>();
       map.put("first", stu);
       
       //1、JSONObject
       JSONObject mapObject=JSONObject.fromObject(map);
       System.out.println("mapObject"+mapObject.toString());
       
       //2、JSONArray
       JSONArray mapArray=JSONArray.fromObject(map);
       System.out.println("mapArray:"+mapArray.toString());
   }

结果:

mapObject{"first":{"address":"中国上海","age":"23","name":"JSON"}}
mapArray:[{"first":{"address":"中国上海","age":"23","name":"JSON"}}]
  • json字符串转map
public static void jsonToMap(){ 
   
       String strObject="{\"first\":{\"address\":\"中国上海\",\"age\":\"23\",\"name\":\"JSON\"}}";
       
       //JSONObject
       JSONObject jsonObject=JSONObject.fromObject(strObject);
       Map map=new HashMap();
       map.put("first", Student.class);

       //使用了toBean方法,需要三个参数 
       MyBean my=(MyBean)JSONObject.toBean(jsonObject, MyBean.class, map);
       System.out.println(my.getFirst());
       
   }

结果:

Student [name=JSON, age=23, address=中国上海]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15317.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信