json知识点总结(二)--JSONObject详解
JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。
【json知识点总结(二)--JSONObject详解】JSONObject就是对 HashMap 的一层封装
pom:
com.alibaba fastjson1.2.28
1.通过原生生成json数据格式。
JSONObject zhangsan = new JSONObject(); try { //添加 zhangsan.put("name", "张三"); zhangsan.put("age", 18.4); zhangsan.put("birthday", "1900-20-03"); zhangsan.put("majar", new String[] {"哈哈","嘿嘿"}); zhangsan.put("null", null); zhangsan.put("house", false); System.out.println(zhangsan.toString()); } catch (JSONException e) { e.printStackTrace(); }
2.通过hashMap数据结构生成
HashMap zhangsan = new HashMap<>(); zhangsan.put("name", "张三"); zhangsan.put("age", 18.4); zhangsan.put("birthday", "1900-20-03"); zhangsan.put("majar", new String[] {"哈哈","嘿嘿"}); zhangsan.put("null", null); zhangsan.put("house", false); System.out.println(new JSONObject(zhangsan).toString());
3.通过实体生成
Student student = new Student(); student.setId(1); student.setAge("20"); student.setName("张三"); //生成json格式 System.out.println(JSON.toJSON(student)); //对象转成string String stuString = JSONObject.toJSONString(student);
4.JSON字符串转换成JSON对象
String studentString = "{\"id\":1,\"age\":2,\"name\":\"zhang\"}"; //JSON字符串转换成JSON对象 JSONObject jsonObject1 = JSONObject.parseObject(stuString); System.out.println(jsonObject1);
5.list对象转listJson
ArrayList studentLsit = new ArrayList<>(); Student student1 = new Student(); student1.setId(1); student1.setAge("20"); student1.setName("asdasdasd"); studentLsit.add(student1); Student student2 = new Student(); student2.setId(2); student2.setAge("20"); student2.setName("aaaa:; aaa"); studentLsit.add(student2); //list转json字符串 String string = JSON.toJSON(studentLsit).toString(); System.out.println(string); //json字符串转listJson格式 JSONArray jsonArray = JSONObject.parseArray(string); System.out.println(jsonArray);
总结 JSON的用途非常广泛,格式清晰明了方便理解,且其本质是用各种不同的分隔符分隔的字符串。
推荐阅读
- 根据二叉树的先序和中序构造二叉树的二叉链表_LeetCode刷题总结之二叉树的构建算法-一道题13种解法...
- json知识点总结(一)--基础介绍
- java|Spring MVC +Spring 框架学习总结-全网最好用的学习笔记
- Java(从头到尾|Spring Boot学习笔记总结(三)
- Hadoop|Hadoop知识点(五)-MapReduce
- 自考|自考 运筹学 知识点总结(全)持续更新中
- 个人总结|个人总结笔记
- P7级别的Android开发跳槽面试竟被Framework|P7级别的Android开发跳槽面试竟被Framework 知识点难道()
- leetcode 链表题总结
- Python中if判断语句的综合应用(猜拳游戏(包含随机数知识点))