Day17_2--JSON学习之序列化非字符串数据传给前端页面

JSON 数据处理——数据交换的标准 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。"category": "手机","specs": {"screen": "6.1英寸","""自定义日期时间编码器"""# 使用data = {'name': '订单',"""自定义日期时间解码器"""try:pass# 使用json_str = '{"name": "订单", "created_at": "2024-03-19T12:00:00"}' 阅读详情

使用Java Servlet和JSON进行前后端数据交互

在现代Web应用开发中,前后端数据交互是一个至关重要的环节。本文将演示如何使用Java Servlet将非字符串数据序列化为JSON格式,并通过AJAX将其传递给前端页面。我们将通过一个简单的例子来实现这个过程,包括后端Java代码和前端HTML/JavaScript代码。

后端代码:Java Servlet

首先,我们需要创建一个Java Servlet来处理JSON数据的生成和传递。以下是一个简单的Servlet实现,它将一个Student对象的列表序列化为JSON字符串,并将其发送到前端页面。

Java Servlet代码

@WebServlet("/json")
public class JsonServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 创建一个学生对象列表
        ArrayList<Student> students = new ArrayList<>();
        Student student1 = new Student(12, "小龙", "男", 18, "IT");
        students.add(student1);

        // 设置响应数据的编码
        resp.setCharacterEncoding("UTF-8");

        // 导入阿里巴巴的JSON转换工具,将学生列表序列化为JSON字符串
        String jsonResponse = JSON.toJSONString(students);

        // 设置数据类型为JSON
        resp.setContentType("application/json");

        // 获取响应的输出流,并写入JSON数据
        PrintWriter writer = resp.getWriter();
        writer.write(jsonResponse);
        // 确保数据被写入并释放资源
        writer.flush();
        writer.close();
    }
}

前端代码:HTML和JavaScript

前端页面将通过AJAX请求从Servlet获取JSON数据,并将其展示在网页上。以下是前端HTML和JavaScript代码的实现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学生信息展示</title>
</head>
<body>
    <div id="show" style="border: 1px red; width: 200px; height: 100px"></div>
    学号: <span class="sno"></span><br>
    姓名: <span class="name"></span><br>
    <button onclick="fetchStudentData()">获取</button>

    <script>
        function fetchStudentData() {
            // 1: 创建XMLHttpRequest对象
            let xhr = new XMLHttpRequest();

            // 2: 配置后端请求
            xhr.open("GET", "/stage1_war_exploded/json", true);

            // 3: 发送请求
            xhr.send();

            // 4: 监听数据是否请求成功
            xhr.onreadystatechange = function () {
                // 5: 如果服务器成功解析数据则readyState=4, 如果后端成功返回数据则status=200
                if (xhr.readyState == 4 && xhr.status == 200) {
                    // 6: 获取后端数据并反序列化为JSON对象
                    let data = JSON.parse(xhr.responseText);

                    // 7: 将数据插入前端页面
                    document.querySelector(".sno").innerHTML = data[0].sno;
                    document.querySelector(".name").innerHTML = data[0].name;
                }
            };
        }
    </script>
</body>
</html>

在这个HTML页面中,我们创建了一个按钮和两个用于显示学生学号和姓名的<span>元素。点击按钮时,会调用fetchStudentData函数,该函数通过AJAX向Servlet发送请求,并将返回的JSON数据插入到页面中。

Frida精准定位Shopee x-sap-ri动态签名生成函数 x-sap-ri是Shopee客户端生成的上下文感知型动态令牌,本质为基于设备标识、请求路径与毫秒级时间戳三元组的SHA256哈希值,经Base64编码后作为防重放与防批量伪造的核心校验字段。其生成逻辑深度混淆且跨Java/Native层,静态分析失效,而Frida凭借内存级函数调用拦截与JNI层穿透能力,成为唯一可行的技术路径。本文聚焦Frida在加固App中的实战适配——通过libcrypto.so API特征扫描反向定位被抹名的生成函数,实现对x-sap-ri输入参数(如16字节device_id加密 阅读详情

相关推荐

PaddleOCR实战:DBnet++与DBnet模型训练全流程解析

本文详细解析了基于PaddleOCR框架的DBnet与DBnet++文字检测模型的完整训练流程。从环境配置、数据集准备、配置文件解读,到模型训练、评估调参及最终推理部署,提供了实战指南。重点对比了DBnet++与DBnet在精度、速度及适用场景上的差异,帮助开发者高效构建定制化的OCR检测模型。

weixin_29038155的博客 333

python学习-处理csv和json数据-day17

CSV:Comma-Separated Values,意为逗号分隔的值,CSV是简化的电子表格,保存为。JSON:JavaScript Object Notation,它是一种格式,以JavaScript源代码的形式,将信息保存在中。

weixin_45014518的博客 957

手把手教你解决Realsense D455在ROS下IMU数据不输出的问题(附固件降级指南)

本文详细解析了Realsense D455在ROS环境下IMU数据不输出的问题,提供了固件降级和ROS配置的完整解决方案。通过版本兼容性分析和实战操作指南,帮助开发者快速恢复IMU数据流,优化机器人开发体验。

weixin_42531494的博客 371

Day10【json字符串】***

json字符串介绍 (1)什么是json字符串 JSON( JavaScript Object Notation, JS 对象标记) 是一种轻量级的、与语言无关的数据交换格式。 (2)有什么特点? 》1 完全独立于编程语言的文本格式来存储和表示数据。 》2 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 》3 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 (3)作用: 使用ajax进行前后台数据交换 移动端与服务端的数据交换 json格式语法 注意:json的key是

qq_43639081的博客 280

POI 写word,添加标题,表格,图片,自动生成目录,合并单元格

工程地址:https://github.com/zheng-chang-wei/word package com.example.demo1.poi; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.File; import java.io.FileOutputStream; public class ...

zheng_chang_wei的博客 6154

SQL Prompt 9.0插件突然无法使用解决办法(附防联网激活)多图+文字

可能由于Redgate公司最近抓盗版抓得严,导致激活后的SQL Prompt联网后突然无法使用,无论卸载重装都没办法继续使用,本人同时使用SQL Assistant和SQL Prompt,我喜欢SQL Assistant代码提示功能,而SQL Prompt我喜欢将查询结果复制后可以直接生产插入脚本,这是最爽的一件事,即便对表有多么熟悉,没有这些插件,几行语法都要敲大半天,目前本人已经离不开这两个插...

骚团长的博客 1万+

day17面向对象和json数据

day17面向对象和json数据 定义类就是用代码描述清楚这个类是拥有哪些相同功能和哪些相同属性的对象的集合,属性(变量)用来描述相同属性。 一、面向对象的属性 属性分为两种 1.类属性 1)怎么定义:直接定义在类中的变量就是类属性 2)怎么使用:通过’ 类. ’ 的方式使用 3)什么时候用:如果属性值不会因为对象不同而不一样的时候 2.对象属性 1)怎么定义:以“self . 属性名 = 值“的方式定义在_——init——方法中 2)怎么使用:通过’ 对象. ’ 的方式使用 3)什么时候用:如果属

yangmei9550的博客 206

投入产出表之直接消耗系数和完全消耗系数计算--基于Excel

介绍 上篇博客已介绍投入产出表的结构类型及意义解读,在此就不重复写了。 投入产出法中相对稳定的因素是一些系数,根据投入产出表可以计算很多系数: 案例 案例数据即流量矩阵,采用的是中国2012年的部分行业数据,若有不对,请批评指正哈。 直接消耗系数的计算 根据上表和直接消耗系数的计算公式,直接消耗系数矩阵通常用A表示。农林牧渔产品和服务部门对其他部门产品的直接消耗系数分别为: 这些消耗系数的经济意义是,农、林、牧、渔产品和服务部门每生产单位(1亿元)总产出,要直接消耗0.1378亿元本部门产品,0.26

m0_46271335的博客 7万+

python学习-day12-json,pickle

视频链接:https://www.bilibili.com/video/BV1SE411N7Hi?p=79 总结:https://guobaoyuan.gitee.io/new_book/Python/17-1%20%E5%BA%8F%E5%88%97%E5%8C%96.html 以下内容仅供个人学习使用,侵删 #!/usr/bin/env python # -*- coding:utf-8 -*- ''' 序列化:将一些特殊的数据(字典、列表)转换成字符串 反序列化:将字符串转换成一些特殊的数据

laywl的专栏 243

ComfyUI工作流换脸节点报错ReActorFaceSwap

找到自己ComfyUI安装目录的custom_nodes下是否有这个comfyui-reactor-node-main。大家在借鉴别人工作流进行AI换脸的时候,如果遇到ReActorFaceSwap报错提示,莫慌,看我的,两步解决问题。这里千万注意不要嵌套文件夹,保证点击去这个文件就可以看到内置的配置文件!找到自己ComfyUI安装目录的facerestore_models。如果有这个文件,直接跳过,去下一步。如果没有,可以去Git官网下载。

qq_70810809的博客 9015

Python实现微信PC端聊天记录自动化监听与智能回复

本文详细介绍了如何使用Python实现微信PC端聊天记录的自动化监听与智能回复。通过win32api和uiautomation库,模拟人工操作,实时监控聊天窗口并抓取新消息。文章重点讲解了核心代码逻辑、环境搭建步骤,并提供了实现关键词触发自动回复的完整方案,旨在提高工作效率与信息管理自动化水平。

weixin_29092031的博客 345

秃顶之路-Day17

Day 17 1.json模块 所有的编程语言都能够识别的数据格式叫做json,是字符串 能够通过json序列化成与如下类型:int float bool str list tuple dict None import json # json 用法 # dumps 和 loads 是一对,可以序列化成字符串 dic= {"name":"八戒","age":81,"classroom":"python31","family":["老爸","老妈","老伴"]} # ensure_ascii=False 显示中

Two_Ministers的博客 216

最新扣子智能体教程:手把手教你接入抖音评论区,实现自动回复

摘要:本文介绍如何利用扣子(Coze)平台搭建智能体实现抖音评论自动回复。从准备工作(账号注册、权限申请)到智能体创建(提示词优化、模型选择),再到抖音API接入和自动回复逻辑设置,详细说明了每个步骤的操作方法。文章还提供了回复模板示例和优化建议,帮助提升互动效率。通过这套方案,创作者可以显著减轻评论区管理压力,增强用户互动体验。(149字)

互联网架构师笔记 982

用js解析经json序列化后的C#的DateTime类型数据

// val为经json直接序列化后的C#的DateTime类型的数据 function formatTime(val) {     var re = /-?\d+/;     var m = re.exec(val);     var d = new Date(parseInt(m[0])); // 按【2012-02-13 09:09:09】的格式返回日期     retu

u014297475的博客 619

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【爬虫学习笔记day17】2.5. JSON模块与JsonPath+数据提取之JSON与JsonPATH+JSON+import json+JsonPath(了解)+JsonPath与XPath语法对

文章目录2.5. JSON模块与JsonPath数据提取之JSON与JsonPATHJSONimport json1. json.loads()2. json.dumps()3. json.dump()4. json.load()JsonPath(了解)JsonPath与XPath语法对比:示例: 2.5. JSON模块与JsonPath 数据提取之JSON与JsonPATH JSON(Java...

汪雯琦的博客 601

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

DAY17

DAY17 time模块 时间戳 时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。 格式化时间 格式化的时间字符串(format string):格式化时间表示的是普通的字符串格式的时间。 结构化时间 结构化时间(struct time):struct_time元组共有9个元素,分别为(年,月,日,时,分,秒。一年中第几周,一年中第几...

weixin_38170695的博客 169

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java报错不能反序列化_解决Jackson2反序列化LocalDateTime报错

今天在整合redis和spring boot的时候,遇到了一个错误,记录一下。报错如下:could not read json: cannot construct instance of `java.time.localdatetime` (no creators, like default construct, exist): cannot deserialize from object val...

weixin_42469191的博客 1624

解决Jackson2反序列化LocalDateTime报错

今天在整合redis和spring boot的时候,遇到了一个错误,记录一下。 报错如下: Could not read JSON: Cannot construct instance of `java.time.LocalDateTime` (no Creators, like default construct, exist): cannot deserialize from Object...

weixin_30609287的博客 948

Jackson 漏配 JavaTimeModule,JDK8 测试绿、JDK17 生产把 LocalDateTime 序列化成数组:序列化选型的 4 个真实坑

我们订单服务升级 JDK17 那天,前端大面积的"下单时间"显示成 2026, 8, 24, 13, 5, 30 这种数组。本地 JDK8 测试全绿,CI 也是 JDK8,没人发现。原因是 Jackson 序列化 LocalDateTime 时,没注册 JavaTimeModule 的话,会退化成"把字段当 POJO 反射",而 LocalDateTime 的字段刚好是 year / month / day ... 一组数字,于是被拍成了数组。 问题:为什么测试环境没事、生产炸了 JSON 没有"日期"类

weixin_39042870的博客 226

Python—day17时间模块、系统模块、递推遍历、序列化

一、time'''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])(指定时间戳下的)格林威治时间:time.gmtime([secs])(指定时间元组下的)格式化时间:time.strftime(fmt[,tupletime])''''''%y 两位数的年份表示(00-9...

weixin_30408739的博客 129

Python入门学习 DAY17 常用模块

Python入门      DAY 17 今日内容: 时间模块,random模块,os模块,sys模块,shutil模块,json模块,pickle模块 1.时间模块 time 和datetime import time # 获取时间戳 返回浮点型 print(time.time()) # 获取当地时间 返回的是结构化时间 print(time.localtime()) # ...

sql121407的博客 204

day17学习整理-Python模块

目录 2019/08/16 学习整理 函数进阶(模块) time模块 时间戳 格式化时间 结构化时间 不同格式时间的转换 其他用法 datetime模块 os模块 ...

163

Day 4-5 序列化 json & pickle &shelve

序列化: 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 反序列化: 把字符转成内存里的数据类型. 用于序列化的两个模块.他们的使用方法完全一样. json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供...

weixin_30888707的博客 127

python-day22(序列化)

序列化 把对象打散成二进制字节 bytes 一. pickle 把一个对象转化成bytes写入到文件 (重点)   pickle.dumps() 把对象转化成bytes   pickle.loads() 把bytes转化成对象      pickle.dump() 把对象转化成bytes, 写入到文件   pickle.load() 把文件中的bytes读取, 转化成对象 ...

banaoxue9848的博客 117

Python序列化与反序列化-json与pickle

                       Python序列化与反序列化-json与pickle                                             作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.json的序列化方式与反序列化方式 1>.json序列化 1 #!/usr/bin/env python ...

weixin_34413357的博客 115

day17

## 复习 ```python'''1. 导入模块的加载顺序:内存 > 内置 > sys.path2. 导入模块的执行流程:遇到导模块 -> 直接就进入模块文件,从上执行执行导入 -> 在遇到导包,再进入执行3. 循环导入:1.形成了环状导入;2.使用名字时名字未产生 -> 延后导入4. 包及包的概念:一系列模块的集合体,__init__.py就是一个模块,只...

weixin_30319097的博客 87
上一篇: Day17_1--AJAX学习之GET/POST传参
下一篇: Day18_1--Vue基础学习入门
IT ·南栀
博客等级 码龄6年 415粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT ·南栀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值