最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于SpringBoot接收json格式的Demo案例

 更新時間:2024年05月17日 10:19:19   作者:螞蟻舞  
這篇文章主要介紹了關(guān)于SpringBoot接收json格式的Demo案例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot接收json格式的Demo

面向API接口開發(fā)的時候,經(jīng)常遇到對接接口數(shù)據(jù),而數(shù)據(jù)一般是json格式的

在這里記錄一下使用SpringBoot接收json格式數(shù)據(jù)的方式

使用SpringBoot的@RequestBody注解

將json數(shù)據(jù)用字符串去接收

然后轉(zhuǎn)成fastjson的對象(com.alibaba.fastjson.JSONObject)

package boot.example.json.controller;

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 *  螞蟻舞
 */
@RestController
@RequestMapping(value="/boot")
public class BootJsonStrController1 {
	
	@PostMapping(value="/demo1")
	public Object jsonStr1(@RequestBody String str) {
		// 使用fastjson JSONObject
		JSONObject jsonData = JSONObject.parseObject(str);
		System.out.println(jsonData.toJSONString());

		Map<String, Object> map = new HashMap<>();
		map.put("state", true);
		map.put("code", 200);
		map.put("timeStamp", System.currentTimeMillis()/1000);
		return map;
	}
}

也可以用com.alibaba.fastjson2.JSONObject

package boot.example.json.controller;


import com.alibaba.fastjson2.JSONObject;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 *  螞蟻舞
 */
@RestController
@RequestMapping(value="/boot")
public class BootJsonStrController2 {
	
	@PostMapping(value="/demo2")
	public Object jsonStr2(@RequestBody String str) {
		// 使用fastjson2 JSONObject
		JSONObject jsonData = JSONObject.parseObject(str);
		System.out.println(jsonData.toJSONString());

		Map<String, Object> map = new HashMap<>();
		map.put("state", true);
		map.put("code", 200);
		map.put("timeStamp", System.currentTimeMillis()/1000);
		return map;
	}
}

fastjson的maven包

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.25</version>
    <scope>compile</scope>
</dependency>

還可以使用(com.google.gson.JsonObject)

maven包

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>
package boot.example.json.controller;


import com.google.gson.Gson;
import com.google.gson.JsonObject;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 *  螞蟻舞
 */
@RestController
@RequestMapping(value="/boot")
public class BootJsonStrController3 {
    
    @PostMapping(value="/demo3")
    public Object jsonStr3(@RequestBody String str) {
        Gson gson = new Gson();
        JsonObject json = gson.fromJson(str, JsonObject.class);
        System.out.println(json.toString());

        Map<String, Object> map = new HashMap<>();
        map.put("state", true);
        map.put("code", 200);
        map.put("timeStamp", System.currentTimeMillis()/1000);
        return map;
    }
}

直接使用fastjson的JSONObject對象

package boot.example.json.controller;

import com.alibaba.fastjson.JSONObject;
//import com.alibaba.fastjson2.JSONObject;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 *  螞蟻舞
 */
@RestController
@RequestMapping(value="/boot")
public class BootJsonStrController4 {
    
    @PostMapping(value="/demo4")
    public Object jsonStr4(@RequestBody JSONObject jsonObject) {
        System.out.println(jsonObject.toString());

        Map<String, Object> map = new HashMap<>();
        map.put("state", true);
        map.put("code", 200);
        map.put("timeStamp", System.currentTimeMillis()/1000);
        return map;
    }
}

能不能使用com.google.gson.JsonObject對象去接收?

不能直接用?。?!

(有其他方式可用,就不去研究這種情況了)

import com.google.gson.JsonObject

// 直接用是不行的
@PostMapping(value="/demoxxx")
public void jsonStr5(@RequestBody JsonObject json) {
    System.out.println(json.toString());
}

簡單的json數(shù)據(jù)還可以用java具體的對象的方式去接收

這種方式對于較復雜的json數(shù)據(jù)處理起來挺麻煩的

@PostMapping(value="/demoxxx")
public void jsonStr6(@RequestBody Object object) {
    System.out.println(object.toString());
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA修改idea.vmoptions后,IDEA無法打開的解決方案

    IDEA修改idea.vmoptions后,IDEA無法打開的解決方案

    文章介紹了在IDEA中因錯誤修改啟動參數(shù)導致無法啟動的問題,指出正確的修改文件位置應在破解插件目錄下的idea.vmoptions,并分享了個人經(jīng)驗供參考
    2025-10-10
  • eclipse/IDEA配置javafx項目步驟(圖文教程)

    eclipse/IDEA配置javafx項目步驟(圖文教程)

    這篇文章主要介紹了eclipse/IDEA配置javafx項目步驟(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 在mybatis中如何將Map作為參數(shù)

    在mybatis中如何將Map作為參數(shù)

    這篇文章主要介紹了在mybatis中如何將Map作為參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot整合MongoDB的完整操作指南

    SpringBoot整合MongoDB的完整操作指南

    在實際項目開發(fā)中,合理封裝MongoDB的操作工具類,可以大幅提升代碼復用性和維護性,本文將帶你從零開始實現(xiàn)一個功能完善的MongoDB工具類,涵蓋基礎(chǔ)CRUD和高級查詢功能,需要的朋友可以參考下
    2026-02-02
  • Java基礎(chǔ)知識精通循環(huán)結(jié)構(gòu)與break及continue

    Java基礎(chǔ)知識精通循環(huán)結(jié)構(gòu)與break及continue

    循環(huán)結(jié)構(gòu)是指在程序中需要反復執(zhí)行某個功能而設(shè)置的一種程序結(jié)構(gòu)。它由循環(huán)體中的條件,判斷繼續(xù)執(zhí)行某個功能還是退出循環(huán),選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來控制程序的流程
    2022-04-04
  • SpringBoot整合mybatis的方法詳解

    SpringBoot整合mybatis的方法詳解

    這篇文章主要為大家詳細介紹了SpringBoot整合mybatis的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Spring Boot實現(xiàn)郵件注冊功能示例代碼

    Spring Boot實現(xiàn)郵件注冊功能示例代碼

    本篇文章主要介紹了Spring Boot實現(xiàn)郵件注冊功能示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java 實現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤

    Java 實現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤

    分布式服務(wù)中完成某一個業(yè)務(wù)動作,需要服務(wù)之間的相互協(xié)作才能完成,在這一次動作引起的多服務(wù)的聯(lián)動我們需要用1個唯一標識關(guān)聯(lián)起來,關(guān)聯(lián)起來就是調(diào)用鏈的跟蹤。本文介紹了Java 實現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤的步驟
    2021-06-06
  • 解決FastJson中

    解決FastJson中"$ref重復引用"的問題方法

    這篇文章主要介紹了解決FastJson中"$ref重復引用"的問題方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 淺談Java反射與代理

    淺談Java反射與代理

    下面小編就為大家?guī)硪黄獪\談Java反射與代理。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07

最新評論

石狮市| 沐川县| 池州市| 循化| 济阳县| 新密市| 子长县| 若羌县| 湘西| 白朗县| 泰顺县| 渭源县| 榆中县| 长丰县| 江川县| 张家口市| 万载县| 江川县| 民乐县| 三门峡市| 泰安市| 太白县| 旬邑县| 承德县| 兴山县| 彭阳县| 贵港市| 宜章县| 新建县| 延庆县| 抚远县| 册亨县| 宿州市| 荃湾区| 高雄市| 错那县| 泰来县| 樟树市| 囊谦县| 阜南县| 中江县|