目录

什么是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分别用法相关推荐

  1. 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 ...

  2. Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象

    文章目录 后端部分 前端部分 后端部分 Option op = new Option("海淀","hd");//java对象转换json对象 JSONObjec ...

  3. React Native Android 源码框架浅析(主流程及 Java 与 JS 双边通信)

    [工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 有了前面<React Native Android 从学车到 ...

  4. JSON,java对象转json

    服务器返回给异步对象的数据载体: 1.HTML 2.XML 3.JSON 一)什么是JSON (1)JSON(Java Script Object Notation(记号,标记))是一种轻量级的数据交 ...

  5. android java 调用js,Android中Java和JavaScript交互实例

    Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如 ...

  6. php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...

    JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换 1. JS的数据类型和访问 1.1. 原始类型JS中的原始数据类型有: number , string , boolean ; 声 ...

  7. JSON for java入门总结

    2019独角兽企业重金招聘Python工程师标准>>> 一.JSON介绍 JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如JA ...

  8. c语言组json包,json格式解析和libjson的用法介绍(关于cjson的使用方法)

    在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据格式:JSON与XML.本文主要介绍JSO ...

  9. highlight.js css,JS库之Highlight.js的用法详解

    下载到本地后,新建个页面测试 1.在head中加入css和js的引用 highlight hljs.initHighlightingOnLoad(); 2.添加对应要显示的内容 # 读取文件内容 de ...

最新文章

  1. 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...
  2. mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf
  3. python多线程并发
  4. 序列化技术的选型-技术层面
  5. OO第三次博客总结作业
  6. 那些读博的女生,怎样通过“九九八十一关”?
  7. 6大设计原则之迪米特法则
  8. Docker的一些理解(二)
  9. 用TF实现线性回归模型。
  10. Invalid bound statement (not found)错误的可能原因分析
  11. 精益求精,抑或得过且过
  12. mysql索引小结_[数据库]mysql索引小结_星空网
  13. WiFi模块 driver驱动框架(sdio接口、pcie接口)
  14. html 嵌入word 插件,利用VenoBox插件在网页中悬浮显示word文档
  15. 使用group by查询时报错ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_grou
  16. payjs插件php,基于payjs的discuz支付插件制作
  17. Artoolkit初级研究手札(2008.12.9)
  18. Photoshop:给MM去斑的最简单方法
  19. mysql数据设置有效期_zabbix管理六之数据有效期设置
  20. 数学计算机sci,近十年数学学科中国学者SCI十大发文期刊

热门文章

  1. 我是如何利用Python下载酷狗音乐的
  2. 16种设计思想 - Design for failure
  3. SQL入门-连结(JOIN)
  4. AtCoder Beginner Contest 168 C~D题解
  5. 天黑请闭眼服务器维护中,天黑请闭眼
  6. 代币系统对会计准则和企业财务革新的启示
  7. Swoole进阶——02 内存之Table
  8. Python编写数字转换成中文大写
  9. 李宏毅2022机器学习HW2解析
  10. 用于单眼3D物体检测的可学习深度引导卷积