SpringMVC接收頁面Post提交的json字符串并解析過程
SpringMVC接收頁面Post提交的json字符串
json使用的是ali的fastjson
頁面提交的是json字符串,后臺(tái)使用@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字符串?dāng)?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();">測(cè)試</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轉(zhuǎn)map
// System.out.println(m);//
// JSONObject parseObject = jo.parseObject(param); //string轉(zhuǎn)json
// System.out.println(parseObject);
//如果頁面?zhèn)鞯氖莏son數(shù)組字符串,用下列方式解析
List<Map> parseArray = jo.parseArray(param, Map.class);
System.out.println(parseArray); //string轉(zhuǎn)list
JSONArray parseArray2 = jo.parseArray(param);
System.out.println(parseArray2);
return "ok";
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用SpringBoot開發(fā)Restful服務(wù)實(shí)現(xiàn)增刪改查功能
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了基于SpringBoot開發(fā)一個(gè)Restful服務(wù),實(shí)現(xiàn)增刪改查功能,需要的朋友可以參考下2018-01-01
Java構(gòu)造器(構(gòu)造方法)能否可以被重寫
這篇文章主要介紹了Java構(gòu)造器(構(gòu)造方法)能否可以被重寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
JavaWeb pageContext對(duì)象原理解析
這篇文章主要介紹了JavaWeb pageContext對(duì)象原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
JAVA 開發(fā)之用靜態(tài)方法返回類名的實(shí)例詳解
這篇文章主要介紹了JAVA 開發(fā)之用靜態(tài)方法返回類名的實(shí)例詳解的相關(guān)資料,這里主要說明使用異常來得到類名,希望能幫助到大家,需要的朋友可以參考下2017-08-08
springboot整合rabbitmq實(shí)現(xiàn)訂單超時(shí)取消案例分析
本文介紹了如何使用SpringBoot和RabbitMQ實(shí)現(xiàn)訂單超時(shí)取消功能,通過配置TTL隊(duì)列和死信交換機(jī),可以管理訂單的超時(shí)邏輯,實(shí)際應(yīng)用中,可以通過數(shù)據(jù)庫標(biāo)記訂單狀態(tài)或手動(dòng)確認(rèn)機(jī)制來防止訂單被錯(cuò)誤取消2025-01-01
JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理
JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個(gè)寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語言寫的applet和應(yīng)用程序所需的工具組成2014-01-01
SpringMVC注解@RequestParam方法原理解析
這篇文章主要介紹了SpringMVC注解@RequestParam方法原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Mybatis錯(cuò)誤引起的程序啟動(dòng)卡死問題及解決
這篇文章主要介紹了Mybatis錯(cuò)誤引起的程序啟動(dòng)卡死問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

