SpringMVC接收頁面Post提交的json字符串并解析過程
更新時間:2025年10月21日 08:46:08 作者:要爭氣
本文介紹了在SpringMVC中,利用@RequestBody String param接收頁面POST提交的JSON字符串,并通過fastjson進行解析的方法,為開發(fā)者提供了實用參考
SpringMVC接收頁面Post提交的json字符串
json使用的是ali的fastjson
頁面提交的是json字符串,后臺使用@RequestBody String param接收數(shù)據(jù),通過json解析param;
頁面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function testSpringParam(){
var name=$("#name").val();
var email=$("#email").val();
$.ajax({
type: 'POST',
url: 'paramurl/paramTest.do' ,
dataType: 'text',
contentType:'application/json;charset=UTF-8',
data:JSON.stringify([{'name':name,'email':email}]), //提交json字符串數(shù)組,如果提交json字符串去掉[]
success:function(data){
alert(data);
},
error:function(textStatus, errorThrown){
console.log(textStatus);
alert(textStatus);
}
});
}
</script>
</head>
<body>
<form action="" id="f1" name="f1">
<input name="name" id="name" type="text" value="zhangsan1">
<input name="email" id="email" type="text" value="zhangsan@163.com">
<a href="#" rel="external nofollow" onclick="testSpringParam();">測試</a>
</form>
</body>
</html>package com.pb.web.controller;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@Controller
@RequestMapping("/paramurl")
public class ParamController {
@RequestMapping(value="/paramTest.do",method=RequestMethod.POST)
@ResponseBody
public String paramTest(@RequestBody String param){
System.out.println(param);
JSONObject jo=new JSONObject();
//如果頁面?zhèn)鞯氖莏son字符串,用下列方式解析
// Map<String, Object> m=(Map<String, Object> )jo.parse(param); //string轉map
// System.out.println(m);//
// JSONObject parseObject = jo.parseObject(param); //string轉json
// System.out.println(parseObject);
//如果頁面?zhèn)鞯氖莏son數(shù)組字符串,用下列方式解析
List<Map> parseArray = jo.parseArray(param, Map.class);
System.out.println(parseArray); //string轉list
JSONArray parseArray2 = jo.parseArray(param);
System.out.println(parseArray2);
return "ok";
}
}
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用SpringBoot開發(fā)Restful服務實現(xiàn)增刪改查功能
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發(fā)過程。這篇文章主要介紹了基于SpringBoot開發(fā)一個Restful服務,實現(xiàn)增刪改查功能,需要的朋友可以參考下2018-01-01
JAVA 開發(fā)之用靜態(tài)方法返回類名的實例詳解
這篇文章主要介紹了JAVA 開發(fā)之用靜態(tài)方法返回類名的實例詳解的相關資料,這里主要說明使用異常來得到類名,希望能幫助到大家,需要的朋友可以參考下2017-08-08
springboot整合rabbitmq實現(xiàn)訂單超時取消案例分析
本文介紹了如何使用SpringBoot和RabbitMQ實現(xiàn)訂單超時取消功能,通過配置TTL隊列和死信交換機,可以管理訂單的超時邏輯,實際應用中,可以通過數(shù)據(jù)庫標記訂單狀態(tài)或手動確認機制來防止訂單被錯誤取消2025-01-01
JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理
JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個寫Java的applet和應用程序的程序開發(fā)環(huán)境。它由一個處于操作系統(tǒng)層之上的運行環(huán)境還有開發(fā)者編譯,調試和運行用Java語言寫的applet和應用程序所需的工具組成2014-01-01
SpringMVC注解@RequestParam方法原理解析
這篇文章主要介紹了SpringMVC注解@RequestParam方法原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04

