JSON的转换,在Java和JavaScript中
2022/4/17 14:43:40
本文主要是介绍JSON的转换,在Java和JavaScript中,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JSON
参考自菜鸟教程:Java 中 JSON 的使用 | 菜鸟教程 (runoob.com)
JSON 简介
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在javaScrip 一切皆为对象,任何js支持的类型,都可以用JSON来表示
JSON 格式
-
都以键值对的形式表示, 即 key: value
-
对象都用 {} 形式为:
{"属性1":属性1的值,"属性2":属性2的值,"属性3":属性3的值}
-
数组(即使包含了多个对象)都用 [] , 形式为:
[{"对象1的属性1":对象1的属性1的值,"对象1的属性2":对象1的属性2的值},{"对象2的属性1":对象2的属性1的值,"对象2的属性2":对象2的属性2的值}]
JSON 转换
在JavaScript中:
// 假如定义了一个对象 let user = { name:'mm', sex : '女' ,age : 19 }; /* JSON转换成字符串 */ JSON.stringify(user); //返回一个字符串,内容为: {"name":"mm" ,"age":"20","sex":"女"} /* 字符串转换成JSON */ let user_text = '{"name":"mm" ,"age":"20","sex":"女"}'; JSON.parse(user2_text); //返回一个对象
在Java中:
Java中并没有内置JSON的解析,因此使用JSON需要借助第三方类库。
下面是几个常用的 JSON 解析类库:
- Gson: 谷歌开发的 JSON 库,功能十分全面。
- FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。
- Jackson: 社区十分活跃且更新速度很快。
注:本文以阿里的 FastJson
为例说明
依赖导入
<!--FastJson的Maven依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
流程说明:
java变量 <--> JSON对象 <--> 字符串
将java变量转换为JSON
public void testJson() { JSONObject object = new JSONObject(); //string object.put("string","string"); //int object.put("int",2); //boolean object.put("boolean",true); //array List<Integer> integers = Arrays.asList(1,2,3); object.put("list",integers); //null object.put("null",null); System.out.println(object); //打印结果: {"boolean":true,"string":"string","list":[1,2,3],"int":2} }
将JSON转换为java变量
public void testJson2() { JSONObject object = JSONObject .parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}"); //string String s = object.getString("string"); System.out.println(s); //int int i = object.getIntValue("int"); System.out.println(i); //boolean boolean b = object.getBooleanValue("boolean"); System.out.println(b); //list List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class); integers.forEach(System.out::println); //null System.out.println(object.getString("null")); } /* 打印结果: string 2 true 1 2 3 null */
方法使用
方法 | 作用 |
---|---|
JSON.parseObject(String) |
将字符串解析为 JSON 对象 |
JSON.parseArray(String) |
将从字符串解析为 JSON 数组 |
JSON.toJSONString(obj/array) |
将 JSON 对象或 JSON 数组转化为字符串 |
实例:
//将字符串解析为JSON对象 JSONObject obj = JSON.parseObject("{\"runoob\":\"菜鸟教程\"}"); //从字符串解析为JSON数组 JSONArray arr = JSON.parseArray("[\"菜鸟教程\",\"RUNOOB\"]\n"); //将JSON对象转化为字符串 String objStr = JSON.toJSONString(obj); //将JSON数组转化为字符串 String arrStr = JSON.toJSONString(arr);
这篇关于JSON的转换,在Java和JavaScript中的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南