返回JSON对象

在目前的Java项目中,我们最经常使用的便是JSON,不是传递JSON对象,就是返回JSON对象,甚至还把多个参数封装成JSON对象来进行传递,以便简化代码等!

但是,该如何操作代码才能正确的返回一个或者多个JSON对象呢??

要返回JSON对象,我们首先得有个JSON对象吧??

创建Person类,有着id,age,name等参数,并且重写getter,setter,toString等方法!

package com.example.demo.controller;


//将参数封装为对象
public class Person {
    Integer id;
    String name;
    Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

那么,请看小编接下来的代码来进行返回JSON对象吧!!

@Controller
@RequestMapping("/return")
public class returnController {
    //返回JSON
    @ResponseBody
    @RequestMapping("returnjson")
    public Person returnJson(){
        Person person=new Person();
        person.setAge(10);
        person.setId(88);
        person.setName("张三");

        return person;
    }
}

在浏览器中输入:localhost:8080/return/returnjson

查看上图可知,浏览器自动帮我们封装解析了!!

上面便是返回JSON对象的代码了!

但是,仅仅只能返回一个,当我们有两个甚至多个JSON对象的时候,我们该如何处理??

比如下述代码:有两个JSON对象:

@Controller
@RequestMapping("/return")
public class returnController {
    //返回JSON
    @ResponseBody
    @RequestMapping("returnjson")
    public Person returnJson(){
        Person person=new Person();
        person.setAge(10);
        person.setId(88);
        person.setName("张三");

        person.setAge(44);
        person.setId(22);
        person.setName("lisi");
        
        return person;
    }
}

那么,重启程序,刷新浏览器,最后的结果会是什么??

大家先猜想一下:

在浏览器输入:localhost:8080/return/returnjson

对比上述两个程序的运行结果,我们发现,返回的JSON数据变了!!

我们的本质想法是,将两个都给输出,比如

但是,为什么只会输出一个??该如何处理??其实这种操作很是简单,我们只需要将其封装到List集合或者其他集合即可!

那么,请看笔者代码:

    //返回JSON
    @ResponseBody
    @RequestMapping("returnjson2")
    public List<Person> returnJson2(){
        Person person1 = new Person();
        person1.setAge(10);
        person1.setId(88);
        person1.setName("张三");

        Person person2 = new Person();
        person2.setAge(44);
        person2.setId(22);
        person2.setName("lisi");

        List<Person> persons = Arrays.asList(person1, person2);
        return persons;
    }

在浏览器输入:localhost:8080/return/returnjson2

那么,此时便是我们想要的结果!

对于返回更多的JOSN数据,我们也可以按此进行处理操作!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

excel导出标准化

虽然标题叫标准化&#xff0c;只不过是我自己的习惯&#xff0c;当一件事情变得流程标准化之后&#xff0c;开发程序就会飞快&#xff0c;开发评估工作总是 搞个1~2天&#xff0c;实则前端后端一起开发&#xff0c;1个小时就可以搞定。 1 前端 const exportXls async () >…

每日一题——LeetCode1556.千位分隔符

方法一 个人方法&#xff1a; 把n转为字符串&#xff0c;逆序遍历n&#xff0c;把n的每个元素加入res&#xff0c;每三次加入.&#xff0c;最后将res翻转再转为字符串即为符合题目要求的结果 var thousandSeparator function(n) {nlet res[],lenn.length-1for(let ilen;i>…

tomcat 搭建博客 及破解数据库密码

一 tomcat 搭建博客 &#xff08;一&#xff09;博客安装包 1&#xff0c; 把博客war包 放到 webapps 文件夹下 2&#xff0c;会自动解压 3&#xff0c;做个软连接 方便后续操作 可以注意到 因为war包 是又tomcat 自己解压的 所以属主数组还是 tomcat &#xff08…

大模型生成,Open API调用

大模型是怎么生成结果的 通俗原理 其实&#xff0c;它只是根据上文&#xff0c;猜下一个词&#xff08;的概率&#xff09;…… OpenAI 的接口名就叫【completion】&#xff0c;也证明了其只会【生成】的本质。 下面用程序演示【生成下一个字】。你可以自己修改 prompt 试试…

LaMa Image Inpainting 图像修复 Onnx Demo

目录 介绍 效果 模型信息 项目 代码 下载 LaMa Image Inpainting 图像修复 Onnx Demo 介绍 gihub地址&#xff1a;https://github.com/advimman/lama &#x1f999; LaMa Image Inpainting, Resolution-robust Large Mask Inpainting with Fourier Convolutions, WAC…

电脑休眠之后唤不醒

现象&#xff1a;午休时间电脑休眠了&#xff0c;醒来之后发现在密码输入界面&#xff0c;但鼠标键盘没反应。按重启键或电源机重新开机&#xff0c;结果开不了机。 原因&#xff1a;1、内存条脏了&#xff0c;导致内存条读取失败 2、休眠的时候硬盘休眠了&#xff0c;导致按…

7、Redis-事务、持久化、内存淘汰机制和过期key处理

目录 一、事务 二、持久化 三、内存淘汰机制 四、过期key处理 一、事务 Redis的事务本质上就是一个批量执行命令的操作。分为三个步骤&#xff1a; 开始事务&#xff1a;multi命令入队&#xff1a;正常输入命令即可执行事务&#xff08;依次执行命令&#xff09;&#xf…

linux_day04

大纲&#xff1a;命令&#xff0c;vim&#xff0c;gcc&#xff0c;编译工具&#xff0c;生成代码&#xff0c;调试&#xff0c;库makefile&#xff0c;系统编程 文件系统&#xff1a;文件属性&#xff0c;文件内容&#xff0c;万物皆文件&#xff08;不在内存中的是文件&#…

为什么说?上位机开发有广泛的前景

上位机开发展现了广泛的前景&#xff0c;主要有以下几个方面的原因&#xff1a; 广泛应用的C#语言&#xff1a; C#在软件开发领域得到了广泛应用&#xff0c;拥有丰富的库、工具和社区支持&#xff0c;使得学习和使用C#进行上位机开发更加便捷。与Windows密切相关&#xff1a; …

LeetCode -- 79.单词搜索

1. 问题描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水…

用 Pytest+Allure 生成漂亮的 HTML 图形化测试报告

本篇文章将介绍如何使用开源的测试报告生成框架 Allure 生成规范、格式统一、美观的测试报告。 通过这篇文章的介绍&#xff0c;你将能够&#xff1a; 将 Allure 与 Pytest 测试框架相结合&#xff1b;如何定制化测试报告内容执行测试之后&#xff0c;生成 Allure 格式的测试报…

10.广域网技术

1. PPP实验点这里&#xff08;拓扑代码&#xff09; 2. PPPoE配置实验点这里&#xff08;拓扑代码&#xff09; 目录 一、广域网二、PPP协议三、PPP链路建立过程1-LCP&#xff08;链路协商&#xff09;四、PPP链路建立过程2-PAP/CHAP&#xff08;认证协商&#xff0c;可选&…

微服务间通信重构与服务治理笔记

父工程 依赖版本管理,但实际不引入依赖 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…

详解字符串函数<string.h>(上)

1. strlen函数的使用和模拟实现 size_t strlen(const char* str); 1.1 函数功能以及用法 字符串长度 strlen函数的功能是计算字符串的长度。在使用时&#xff0c;要求用户传入需要计算长度的字符串的起始位置&#xff0c;并返回字符串的长度。 #include <stdio.h> #…

【两万字面试系列】三年前的面试题。Service里面的线程安全问题

前言 三年前&#xff0c;大概是21年&#xff0c;那会刚学完java&#xff0c;然后去面试&#xff0c;被打的一塌糊涂&#xff0c;今天来盘一盘之前的面试&#xff0c;到底是怎样的问题整住了。然后发现了去年整的线程安全东西&#xff0c;也贴到文章后面了。那个贴的还不太准&a…

2024腾讯云服务器优惠价格表又降价了,给同行干emo了

腾讯云优惠活动2024新春采购节活动上线&#xff0c;云服务器价格已经出来了&#xff0c;云服务器61元一年起&#xff0c;配置和价格基本上和上个月没什么变化&#xff0c;但是新增了8888元代金券和会员续费优惠&#xff0c;腾讯云百科txybk.com整理腾讯云最新优惠活动云服务器配…

探索数据结构:解锁计算世界的密码

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty‘s blog 前言 随着应用程序变得越来越复杂和数据越来越丰富&#xff0c;几百万、…

每日五道java面试题之spring篇(九)

目录&#xff1a; 第一题. 说一下Spring的事务传播行为第二题. 说一下 spring 的事务隔离&#xff1f;第三题. Spring AOP and AspectJ AOP 有什么区别&#xff1f;AOP 有哪些实现方式&#xff1f;第四题. JDK动态代理和CGLIB动态代理的区别第五题. 解释一下Spring AOP里面的几…

基于SSM医院电子病历管理系统的设计与实现(源代码+数据库脚本+万字文档+PPT)

系统介绍 医院电子病历管理系统主要是借助计算机&#xff0c;通过对医院电子病历管理系统所需的信息管理&#xff0c;增加用户的选择&#xff0c;同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。医院电子病历管理系统 对用户带来了更多的便利&#xff0c…

1、jQuery介绍、css()、选择器、事件、动画

一、jQuery介绍&#xff1f; 1、什么是jQuery&#xff1f; 是一个JavaScript函数库 2、jQuery特点 写的少&#xff0c;做的多 3、jQuery的安装 直接下载引入 <script src"jquery-1.10.2.min.js"></script>通过cdn引入 <script src"https…