构造JSON格式

后端构造JSON格式传给前端

方式一

后端

传递可迭代对象

记住,传json格式,如果你要用for循环 那么你的对象一定要是可迭代的对象
如果你单构造个类过去,你用for是肯定循环不了的,你必须使用List这种可以迭代的对象,才能使用这个迭代循环
@WebServlet("/Demo6")
public class Demo6 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("application/json;charset=utf8");ObjectMapper objectMapper=new ObjectMapper();//记住,前端如果使用for,那么你一定不能只传对象,因为对象无法迭代,一定要把对象放进可迭代的对象内,才可以使用//方式一List<Student> students=new ArrayList<>();students.add(new Student("张三",1));String JsonString=objectMapper.writeValueAsString(students);resp.getWriter().write(JsonString);
}

前端

 <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script><script>$.ajax({type:'get',url:'Demo6',success:function(body){let content=document.querySelector('.content')//后端传的是可迭代对象,所以用forfor(let student of body){let newDiv=document.createElement('div');newDiv.className="newDIV";let name=document.createElement('div');name.className="name";name.innerHTML=student.name;content.appendChild(name);let StudentId=document.createElement('div');StudentId.className="id";StudentId.innerHTML=student.StudentID;content.appendChild(StudentId);content.appendChild(newDiv);}}});</script>

方式二

后端

    @Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("application/json;charset=utf8");ObjectMapper objectMapper=new ObjectMapper();//方式二 只传对象,前端直接使用,不能用forStudent s=new Student("张三",1);String JsonString=objectMapper.writeValueAsString(s);resp.getWriter().write(JsonString);}

前端

        $.ajax({type: 'get',url:'Demo6',success:function (body){let content=document.querySelector('.content')let newDiv=document.createElement('div');newDiv.className="newDIV";let name=document.createElement('div');name.className="name";//后端传的是对象,不能用for 直接使用name.innerHTML=body.name;content.appendChild(name);let StudentId=document.createElement('div');StudentId.className="id";StudentId.innerHTML=body.StudentID;content.appendChild(StudentId);content.appendChild(newDiv);}})

前端构造JSON格式传给后端

后端

package Demo;import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;class User{public String id;public String name;//    在使用 Jackson 进行 Java 对象的反序列化时,Jackson 需要使用一个无参构造函数(默认构造函数)来创建对象实例。public User(){}public User(String id, String name) {this.id = id;this.name = name;}
}@WebServlet("/Demo7")
public class Demo7 extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ObjectMapper objectMapper=new ObjectMapper();User user=objectMapper.readValue(req.getInputStream(), User.class);System.out.println(user.id);System.out.println(user.name);resp.getWriter().write("id: "+user.id);resp.getWriter().write("name: "+user.name);}
}

前端

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><input type="text" name="id" id="id"><input type="text" name="name" id="name"><button id="but">提交</button><script src="https://code.jquery.com/jquery-3.7.1.min.js"></script><script>let idInput=document.querySelector('#id');let nameInput=document.querySelector('#name');let but=document.querySelector('#but');but.onclick=function(){let id=idInput.value;let name=nameInput.value;let User={id:id,name:name}$.ajax({type:"post",url:"Demo7",data:JSON.stringify(User),success:function(){// 当返回时,说明传入成功alert("传输成功")},error:function(){alert("传输失败")}})}</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 中,可以使用以下方法优化 List 的 ForEach 循环速度

在 C# 中&#xff0c;可以使用以下方法优化 List 的 ForEach 循环速度&#xff1a; 使用 Dictionary 或 Hashtable 代替 List&#xff1a;在需要频繁查找元素时&#xff0c;Dictionary 或 Hashtable 的查找速度通常比 List 快。这是因为它们通过哈希码直接访问元素&#xff0c;…

【企业场景】设计模式重点解析

设计模式 在平时的开发中&#xff0c;涉及到设计模式的有两块内容&#xff1a; 我们平时使用的框架&#xff08;比如spring、mybatis等&#xff09;我们自己开发业务使用的设计模式。 在平时的业务开发中&#xff0c;其实真正使用设计模式的场景并不多&#xff0c;虽然设计号…

OpenHarmony实战开发-MpChart图表实现案例。

介绍 MpChart是一个包含各种类型图表的图表库&#xff0c;主要用于业务数据汇总&#xff0c;例如销售数据走势图&#xff0c;股价走势图等场景中使用&#xff0c;方便开发者快速实现图表UI。本示例主要介绍如何使用三方库MpChart实现柱状图UI效果。如堆叠数据类型显示&#xf…

CAP5_Monday

A Set to Max (Easy Version) 给定数组 a 和 b&#xff0c;可以执行以下操作任意次 : 让 a l ∼ a r a_l\sim a_r al​∼ar​ 中的所有所有元素变成 a i a_i ai​ ( l ≤ i ≤ r ) (l\leq i\leq r) (l≤i≤r)&#xff0c; 其中 1 ≤ l ≤ r ≤ n 1\leq l \leq r \leq n 1≤…

C#基础|数据类型、变量

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 01 数据类型 数据类型是为了方便存储数据的&#xff0c;为了将数据按照不同的分类存储&#xff0c;所以引入数据类型。这个在PLC中已经很熟悉了。 数据类型的作用&#xff1a;就是为了更好地管理内存&#xff0c;为…

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记13:RTC实时时钟

系列文章目录 嵌入式|蓝桥杯STM32G431&#xff08;HAL库开发&#xff09;——CT117E学习笔记01&#xff1a;赛事介绍与硬件平台 嵌入式|蓝桥杯STM32G431&#xff08;HAL库开发&#xff09;——CT117E学习笔记02&#xff1a;开发环境安装 嵌入式|蓝桥杯STM32G431&#xff08;…

基于Pytorch框架的CNN-LSTM模型在CWRU轴承故障诊断的应用

目录 1. 简介 2. 方法 2.1数据集 2.2模型架构 1. 简介 CWRU轴承故障诊断是工业领域一个重要的问题&#xff0c;及早发现轴承故障可以有效地减少设备停机时间和维修成本&#xff0c;提高生产效率和设备可靠性。传统的基于信号处理和特征提取的方法通常需要手工设计特征&…

基于Python长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析

原文链接&#xff1a;基于Python长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601336&idx4&sn143be5669da8ad336a455a4cca3d4b6a&chksmfa820d5fcdf584491…

【机器学习】机器学习创建算法第6篇:线性回归,学习目标【附代码文档】

机器学习&#xff08;算法篇&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习算法课程定位、目标&#xff0c;K-近邻算法定位,目标,学习目标,1 什么是K-近邻算法,1 Scikit-learn工具介绍,2 K-近邻算法API。K-近邻算法&#xff0c;1.4 …

java的文件字节输出和输入流

字符集&#xff1a; public class test1 {public static void main(String[] args) throws UnsupportedEncodingException {//1&#xff1a;编码&#xff1a;String data"b你a2";byte[] bytes data.getBytes();//默认使用&#xff08;UTF-8&#xff09;进行编码&…

【七 (1)指标体系建设-构建高效的故障管理指标体系】

目录 文章导航一、故障概述1、故障&#xff1a;2、故障管理&#xff1a; 二、指标体系概述1、指标2、指标体系 三、指标体系构建难点1、管理视角2、业务视角3、技术视角 四、指标体系构建原则1、与战略目标对齐2、综合和平衡3、数据可获得性4、可操作性5、具体和可衡量6、参与和…

lua学习笔记20(lua中一些自带库的学习)

print("*****************************lua中一些自带库的学习*******************************") print("*************时间***************") --系统时间 print(os.time()) --自己传入参数得到时间 print(os.time({year2011,month4,day5})) --os.data(&qu…

00 【哈工大_操作系统】Bochs 汇编级调试方法及指令

本文将介绍一下哈工大李治军老师《操作系统》课程在完成Lab时所使用到的 Bochs 调试工具的使用方法。这是一款汇编级调试工具&#xff0c;打开调试模式非常简单&#xff0c;只需在终端下输入如下指令&#xff1a; 1、bochs 调试基本指令大全 功能指令举例在某物理地址设置断点…

Xxl-job执行器自动注册不上的问题

今天新建的项目要部署xxl-job&#xff0c;之前部署过好多次&#xff0c;最近没怎么部署&#xff0c;生疏了。部署完之后&#xff0c;服务一直没有注册到执行器管理里面&#xff0c;找了半天也没找到原因&#xff0c;看数据库里的xxl_job_registry表也是一直有数据进来。 后来看…

小白也能看懂的BEV感知(一)

1. 引言 随着人工智能技术的不断发展&#xff0c;自动驾驶越来越多地出现在我们的视野中&#xff0c;智能化和电动化已经成为汽车行业的主旋律。无论是从研究的角度还是从工程的角度来看&#xff0c;它都像是一个巨大的宝藏&#xff0c;等待着我们去探索。本文将介绍这一技术的…

从51到ARM裸机开发实验(009)LPC2138 中断实验

一、场景设计 中断的概念在《从51到ARM裸机开发实验(007) AT89C51 中断实验》中已经介绍过&#xff0c;LPC2138的Keil工程创建在《从51到ARM裸机开发实验(005)LPC2138 GPIO实验》中已经介绍过。本次使用LPC2138来实现一个这样的场景&#xff1a;四个LED依次亮灭&#xff0c;时间…

测试人必看,小程序常见问题

小程序是一种轻盈的存在&#xff0c;用户无需为了使用它而下载和安装。它依附于微信这个强大的平台&#xff0c;只需轻轻一扫或一搜&#xff0c;它便跃然屏上&#xff0c;随时服务。小程序为我们带来更多前所未有的惊喜和便利&#xff0c;以下分享关于小程序相关的热门问题。 …

Python关闭所有打开的Word文档并保存

先给出一个打开指定目录下的所有Word文档&#xff0c;并添加新内容&#xff0c;方便后面做关闭测试 import os import win32com.clientdirectory "D:/0test" # 要处理的目录路径 content_to_add "test text" # 要添加的内容# 创建 Word 应用程序对象 …

链表基础3——单链表的逆置

链表的定义 #include <stdio.h> #include <stdlib.h> typedef struct Node { int data; struct Node* next; } Node; Node* createNode(int data) { Node* newNode (Node*)malloc(sizeof(Node)); if (!newNode) { return NULL; } newNode->data …

逆向IDA中Dword,数据提取

我们可以看见数据是这样的&#xff0c;第一个是1cc 但是我们shifte就是 这个因为他的数据太大了&#xff0c;导致高位跑后面去了 这个时候&#xff0c;我们右键——convert——dword 这样就可以提取到争取的数据了 比如第一个数据 0x1cc a0xcc b0x1 print(hex((b<<8…