JsonObject
原地址:(21条消息) JSONObject详解_程序员s的博客-CSDN博客_jsonobject
一、JSON对象
1、JsonObject是一种数据结构,可以理解为JSON格式的数据结构(key-value结构),可以用Put方法给Json对象添加元素,JSONObject可以方便转为字符串,也可以把其他对象转换为jsonObejct对象
POM
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency>
2、通过原生生成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();
3、通过HashMap数据结构生成
HashMap<String, Object> 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());
4、通过实体生成
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);
二、JSON对象与json字符串
1、JSON对象,对象的属性是可以用:对象.属性进行调用的
var person={"name":"zhangsan","sex":"男","age":"24"}//json对象 alert(person.name);//zhangsan alert(typeof person);//object
2、JSON字符串:字符串,是单引号或双引号引起来的
var person='{"name":"zhangsan","sex":"男","age":"24"}';//json字符串 alert(person);//{"name":"zhangsan","sex":"男","age":"24"} alert(typeof person);//string
3、JSON字符串转JSON对象
var person='{"name":"zhangsan","sex":"男","age":"24"}';//json字符串 var personObject = JSON.parse(person); alert(personObject.name);//zhangsan
4、JSON对象转换为JSON字符串
var person={"name":"zhangsan","sex":"男","age":"24"};//json对象 var personString = JSON.stringify(person); alert(personString);
三、JSON,map,jsonarray,arraylist的区别
JSON
1、JSONObject(一般叫做JSON)指的是JSON对象,表现为键值对(key:value),一个key对应一个value,key不能重复。可以将JSON理解为一种特殊的字符串,只不过是用了特定的符号进行了标注而已。
2、形式:{“key” : “value”},key和value都必须用双引号引起来。例如: {“name”: “Michael”}
3、创建格式:JSONObject json = new JSONObject();
Map
1、Map也是键值对,不过表现为{key=value},并且key和value不需要用双引号引起来。例如:{name=Michael,age=21}。
2、Map的key可以为对象,JSON的key只能为string。JSON相当于是一种特殊的Map。
3、创建格式:Map map = new HashMap();
JSONArray
1、JSONArray指的是JSON数组,用[]表示,里面可以套上JSON,例如:[ {“name”: “Michael”}, {“name”: “Jake”}]。
2、创建格式:JSONArray jsonArray = new JSONArray();
ArrayList
1、List是一个接口,ArrayList是List接口的一个实现类。例如:[Michael,Jake]。
2、创建格式:List list = new ArrayList();
四、前后端交互
1、后端接收数据
前端传入的数据格式 | 后端的接受方式 |
url中的参数 | @PathVariable |
用params传递数据 | @RequestParam |
用data传递数据 | @Requestbody |
五、其他
1、JSON.toJSONString:是将json转换为json字符串
2、json.toJSONString可以自动过滤Null值,tostring不支持
3、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2020-08-24 vue-cli