赞
踩
fastjson.jar是阿里巴巴开发专门处理用于Java开发的包,可以方便的实现JSON对象与JavaBean对象的转换,实现JavaBean对象与Json字符串的转换,实现JSON对象与JSON字符串的转换。
//将Json字符串转化为Json对象
JSONObject obj=JSON.parseObject(jsonStr);//将json字符串转换为json对象
导入依赖包:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
使用方式:
@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); }
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接口并调用接口中的方法完成的。
JSONArray代表json对象数组,json数组对象中存储的是一个个json对象,所以类中的方法主要用于直接操作json对象。比如这其中的add(),remove(),containsAll()方法,对应于json对象的添加,删除与判断。
–> getJSONObject(int index)方法,该方法用于获取json对象数组中指定位置的JSONObject对象,配合size()方法,可用于遍历json对象数组中的各个对象。通过以上两个方法,在配合for循环,即可实现json对象数组的遍历,当然JSONArray中也实现了迭代器方法来遍历,这和List的遍历极为相似。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。