json 使用的是ali的fastjson;
页面提交的是json字符串,后台使用@RequestBody String param接收数据,通过json解析param;
页面:
[html] view plain copy
- <%@ 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字符串数组,如果提交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"><br>
- <input name="email" id="email" type="text" value="zhangsan@163.com"><br><br>
- <a href="#" 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();
- //如果页面传的是json字符串,用下列方式解析
- // 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);
- //如果页面传的是json数组字符串,用下列方式解析
- 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";
- }
- }