JSON在java和js分别用法
目录
什么是json有什么用
Java与JSON做什么
Java与JSON转换
JSON在java中的对象格式
java中JSON数组格式
Gson将java转换JSON字符串的步骤:
Gson 将JSON字符串转换为java对象
FastJson将java对象转换为JSON字符串步骤
FastJson将JSON字符串转换为java对象步骤
JSON在js用法
创建JSON对象
创建JSON数组
在JSON对象里创建数组
eval():将字符串当做一段就是代码解析并执行
JSON在js运用案例:
什么是json有什么用
json是javascript的对象标签,简称json
作用:一种标准的数据交换按格式
2.JSON是一种标准的轻量级数据交换格式。特点是:
体积小,易解析
3.在实际开发中由两种数据交换格式JSON和xml(回答面试官二者区别)
xml体积大,解析麻烦,但是有其优点,语法严谨
JSON就是一种标准的轻量级的数据交换格式,两个系统之间要想交换数据就用JSON或
xml xml体积大不好解析但严禁
Java与JSON做什么
将Java中的对象 快速的转换为 JSON格式的字符串。将JSON格式的字符串, 转换为Java的对象.
Java与JSON转换
主要使用Gson和FastJson。FastJson是阿里的,Gson是谷歌的
JSON在java中的对象格式
格式
{“键”:值,“键”:值}
一个对象, 由一个大括号表示。括号中 通过键值对来描述对象的属性
要求
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.)
键值对的值, 可以是JS中的任意类型的数据
例如:
JSON: { "name":"金苹果", "info":"种苹果" }
java中JSON数组格式
在JSON格式中可以与对象互相嵌套 [元素1,元素2...]
案例
{"name":"伟杰老师", "age":18,"pengyou":["张三","李四","王二","麻子",{"name":"野马老师","info":"像匹野马一样狂奔在技术钻研的道路上" }],"heihei":{"name":"大长刀","length":"40m"}}
Gson将java转换JSON字符串的步骤:
1. 引入JAR包(可在Gitee上下载gson.-2.8.6.jar)
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
public class Demo_1 {public static void main(String[] args) {
// 创建Gson对象Gson g = new Gson();
// 转换:toJson(对象)Book b = new Book("100","橘子不是唯一的水果","爱和死一样强大");String s =g.toJson(b);System.out.println(s);}
}public class Book {private String id;private String name;private String info;public Book(String id, String name, String info) {this.id = id;this.name = name;this.info = info;}
Gson 将JSON字符串转换为java对象
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码: 对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例 一:转换成对象和集合
public class Demo_2 {public static void main(String[] args) {
// 1.创建Gson对象Gson g = new Gson();
// 2.转换成对象{"id":"100","name":"橘子不是唯一的水果","info":"爱和死一样强大"}Book b = g.fromJson("{\"id\":\"100\",\"name\":\"橘子不是唯一的水果\",\"info\":\"爱和死一样强大\"}\n",Book.class);System.out.println(b.getId());
// 3.转换成集合HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"橘子不是唯一的水果\",\"info\":\"爱和死一样强大\"}\n", HashMap.class);System.out.println(data.get("name"));}}
案例 二:Json数组转换对象
public class Demo_3 {public static void main(String[] args) {
// 1.创建Gson对象Gson g = new Gson();
// 2.{"id":"100","name":"橘子不是唯一的水果","info":"爱和死一样强大","page":["嘿嘿嘿嘿","hhhhhh","啊啊啊啊"]}page是数组
// 3.转换成集合HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"橘子不是唯一的水果\",\"info\":\"爱和死一样强大\",\"page\":[\"嘿嘿嘿嘿\",\"hhhhhh\",\"啊啊啊啊\"]}\n", HashMap.class);System.out.println(data.get("page"));System.out.println(data.get("page").getClass());List page = (List) data.get("page");System.out.println(page.get(1));}}
注意:
第一行:打印出来的结果看起来是数组
第二行:获得getclass后,可以通过list集合获得。所以该类型类型属于集合(对象包含数组部分经JSON转换后变成ArraList集合)
FastJson将java对象转换为JSON字符串步骤
1. 引入JAR包(可在Gitee上下载fastgson.-1.2.70.jar)
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象)
public class Demo1 {public static void main(String[] args) {
// 1.创建一本图书Book book = new Book("1002","唐诗","床前明月光");
// 2.转换String s = JSON.toJSONString(book);System.out.println(s);}
}
FastJson将JSON字符串转换为java对象步骤
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码: 类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或 List list=JSON.parseArray(JSON字符串,类型.class);
案例 一:转换成对象
public class Demo2 {public static void main(String[] args) {
// 1.转换 {"id":"1002","info":"床前明月光","name":"唐诗"}Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光\",\"name\":\"唐诗\"}", Book.class);System.out.println(book.getId());}
}
案例 二:数组转换成集合对象
public class Demo3 {public static void main(String[] args) {
// 1.转换json数组["一二三","二三四","三四五"]List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class);System.out.println(strings.get(1));}
}
JSON在js用法
创建JSON对象
var studentObj = {"son":"110","sname":"张三","sex":"男"};alert(studentObj.son+","+studentObj.sname+","+studentObj.sex)//110,张三,男
创建JSON数组
var students =[{"sno":"110","sname":"zhang","sex":"男"},{"sno":"120","sname":"zang","sex":"男"},{"sno":"130","sname":"zh","sex":"男"}]for(var i=0;i<students.length;i++){var stuObj = students[i];alert(stuObj.sno+","+stuObj.sname+","+stuObj.sex)}
在JSON对象里创建数组
var student1={"count":"3","student" :[{"name":"q","sno":"21"},{"name":"q","sno":"21"}]}
eval():将字符串当做一段就是代码解析并执行
var fromjava = "{\"name\":\"zhangsan\",\"password\":\"123\"}";//java发过来的代码window.eval("var jsonObj ="+fromjava)alert(jsonObj.name+","+jsonObj.password);//zhangsan,123
JSON在js运用案例:
希望点击显示员工信息列表按钮下边表格会出来具体值
期望效果
<body>
<script>//列出数据var data = {"emps":[{"empno":7369,"ename":"SMITH","sal":800.0},{"empno":7369,"ename":"SMITH","sal":800.0},{"empno":7369,"ename":"SMITH","sal":800.0}]};//希望把数据展示到table当中window.onload = function(){var displayBtnElt = document.getElementById("displayBtn")displayBtnElt.onclick = function(){var emps = data.emps;var html = '';for(var i = 0;i<emps.length;i++){var emp = emps[i];//拼串html +="<tr>";html +="<td>"+emp.empno+"</td>";html +="<td>"+emp.ename+"</td>";html +="<td>"+emp.sal+"</td>";html +="</tr>";}document.getElementById("emptbody").innerHTML=html}
</script><input type="button" value="显示员工信息列表" id="displayBtn"><h2>员工信息列表</h2><hr><table border="1px" width="50%"><tr><th>员工编号</th><th>员工名字</th><th>员工薪资</th></tr><tbody id="emptbody"></tbody>
</body>
JSON在java和js分别用法相关推荐
- return true Java_[Java教程]js中return,return true,return false的用法及区别
[Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...
- Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象
文章目录 后端部分 前端部分 后端部分 Option op = new Option("海淀","hd");//java对象转换json对象 JSONObjec ...
- React Native Android 源码框架浅析(主流程及 Java 与 JS 双边通信)
[工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 有了前面<React Native Android 从学车到 ...
- JSON,java对象转json
服务器返回给异步对象的数据载体: 1.HTML 2.XML 3.JSON 一)什么是JSON (1)JSON(Java Script Object Notation(记号,标记))是一种轻量级的数据交 ...
- android java 调用js,Android中Java和JavaScript交互实例
Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如 ...
- php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...
JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换 1. JS的数据类型和访问 1.1. 原始类型JS中的原始数据类型有: number , string , boolean ; 声 ...
- JSON for java入门总结
2019独角兽企业重金招聘Python工程师标准>>> 一.JSON介绍 JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如JA ...
- c语言组json包,json格式解析和libjson的用法介绍(关于cjson的使用方法)
在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据格式:JSON与XML.本文主要介绍JSO ...
- highlight.js css,JS库之Highlight.js的用法详解
下载到本地后,新建个页面测试 1.在head中加入css和js的引用 highlight hljs.initHighlightingOnLoad(); 2.添加对应要显示的内容 # 读取文件内容 de ...
最新文章
- 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...
- mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf
- python多线程并发
- 序列化技术的选型-技术层面
- OO第三次博客总结作业
- 那些读博的女生,怎样通过“九九八十一关”?
- 6大设计原则之迪米特法则
- Docker的一些理解(二)
- 用TF实现线性回归模型。
- Invalid bound statement (not found)错误的可能原因分析
- 精益求精,抑或得过且过
- mysql索引小结_[数据库]mysql索引小结_星空网
- WiFi模块 driver驱动框架(sdio接口、pcie接口)
- html 嵌入word 插件,利用VenoBox插件在网页中悬浮显示word文档
- 使用group by查询时报错ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_grou
- payjs插件php,基于payjs的discuz支付插件制作
- Artoolkit初级研究手札(2008.12.9)
- Photoshop:给MM去斑的最简单方法
- mysql数据设置有效期_zabbix管理六之数据有效期设置
- 数学计算机sci,近十年数学学科中国学者SCI十大发文期刊