必威体育Betway必威体育官网
当前位置:首页 > IT技术

JSONObject使用

时间:2019-10-23 23:16:07来源:IT技术作者:seo实验室小编阅读:56次「手机版」
 

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=中国上海]

文章最后发布于: 2019-02-20 00:00:27

相关阅读

c#委托(Delegates)--基本概念及使用

 在我这菜鸟理解上,委托就是可以用方法名调用另一方法的便捷方法,可以简化switch等语句的重复。最近做项目的时候恰好需要用到委托

Adobe Premiere 基本使用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,

网易网盘入口调整,功能可正常使用

针对近日有媒体对网易网盘入口调整解读有偏差的报道,网易网盘今日更新业务调整公告,网易网盘将于北京时间2019年11月30日作出调整,

淘宝天猫男神节购物券优惠可以叠加使用吗?

淘宝天猫男神节购物券优惠活动还有吗?不是说取消天猫男神节购物券玩法了吗?那么请问淘宝天猫男神节购物券优惠可以叠加使用吗?淘

Excel2013中多条件筛选如何使用

在Excel中面对一份数据庞大的表格时,要快速显示需要的数据,大家肯定会考虑到筛选这个功能。以下是seo实验室小编为您带来的关于Exce

分享到:

栏目导航

推荐阅读

热门阅读