当前位置:   article > 正文

学习fastjson里面的JSONObject类_fastjson.jsonobject

fastjson.jsonobject

简介

fastjson.jar是阿里巴巴开发专门处理用于Java开发的包,可以方便的实现JSON对象与JavaBean对象的转换,实现JavaBean对象与Json字符串的转换,实现JSON对象与JSON字符串的转换。

//将Json字符串转化为Json对象
JSONObject obj=JSON.parseObject(jsonStr);//将json字符串转换为json对象
  • 1
  • 2

导入依赖包:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.76</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

使用方式:

@Test
void test6(){
    //通过原生生成的JSON格式生成
    JSONObject object = new JSONObject();
    object.put("name", "张三");
    object.put("age", 18);
    object.put("email", "abc@163.com");
    System.out.println("原生生成的JSON格式生成:" + object.toString());

    //通过hashMap数据结构生成
    HashMap<String, Object> objectHashMap =  new HashMap<>();
    objectHashMap.put("name", "张三");
    objectHashMap.put("age", 18);
    objectHashMap.put("email", "abc@qq.com");
    System.out.println("hashMap数据结构生成:" + new JSONObject(objectHashMap).toString());

    //通过实体生成
    User user = new User();
    user.setName("张三");
    user.setAge(18);
    user.setEmail("abc@qq.com");
    System.out.println("实体生成Json格式:" + JSON.toJSON(user));  //生成Json格式
    String jsonString = JSONObject.toJSONString(user);  //对象转成String
    System.out.println("对象转成String:" + jsonString);

    //Json字符串转换成Json对象
    String user1 = "{\"name\":\"张三\",\"age\":18,\"email\":\"abc.@qq.com\"}";
    JSONObject jsonObject = JSONObject.parseObject(user1);
    System.out.println("Json字符串转换成Json对象:" + jsonObject.toString());

    //list对象转listJson
    ArrayList<User> users = new ArrayList<>();
    User user2 = new User();
    user2.setName("张三");
    user2.setAge(18);
    user2.setEmail("abc@qq.com");

    users.add(user2);

    User user3 = new User();
    user3.setName("李四");
    user3.setAge(20);
    user3.setEmail("abc@163.com");

    users.add(user3);

    String string = JSON.toJSON(users).toString();
    System.out.println("list转Json字符串:" + string);

    JSONArray jsonArray = JSONObject.parseArray(string);
    System.out.println("json字符串转listJson格式:" + jsonArray);

    //JsonObject转实体对象
    JSONObject object1 = new JSONObject();
    object1.put("name", "张三");
    object1.put("age", 18);
    object1.put("email", "abc@163.com");
    User user4 = JSONObject.toJavaObject(object1, User.class);
    System.out.println(user4);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  1. JSONObject相当于json对象,所以该类中主要封装了各种get方法,通过"键:值"对中的键来获取其对应的值。且方法的输入参数几乎皆为String类型,这是因为json对象中,"键:值"对的键都是String类型的。
    –> getString(String key)方法,该方法输入参数为String key(键),输出为String ,用于获取json对象中的字符串型数据。例如通过该方法获取 “name”:"bob"键值对中name这个键所对应的值bob。
    –> getInteger(String key)方法,该方法获取json对象中的整型数据,例如获取"age:20"键值对中age对应的整型数值20.
    –> JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可利用诸如size(),isEmpty()等方法获取"键:值"对的个数和判断是否为空。其本质是通过实现Map接口并调用接口中的方法完成的。

  2. JSONArray代表json对象数组,json数组对象中存储的是一个个json对象,所以类中的方法主要用于直接操作json对象。比如这其中的add(),remove(),containsAll()方法,对应于json对象的添加,删除与判断。
    –> getJSONObject(int index)方法,该方法用于获取json对象数组中指定位置的JSONObject对象,配合size()方法,可用于遍历json对象数组中的各个对象。通过以上两个方法,在配合for循环,即可实现json对象数组的遍历,当然JSONArray中也实现了迭代器方法来遍历,这和List的遍历极为相似。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/532666
推荐阅读
相关标签
  

闽ICP备14008679号