如何获得JSON字符串与子域在Java地图在Spring MVC控制器
How to get JSON String with Subdomain in Java Map at Spring MVC Controller
我试图接收一个JSON字符串与子域Java地图在Spring MVC控制器。
假设JavaScript部分有这个JSON:
var contract = {dateFrom:someDate,
dateTo:someDate,
season: {seasonCode:someString}}
JSON作为GET Ajax调用发送。
控制器看起来像这样:
@RequestMapping(value = "/", method = RequestMethod.GET, headers = "Accept=application/json")
public ResponseEntity<String> getVertagFromSearch(@RequestParam Map<String, Object> allRequestParams, ModelMap model){
Map的输出如下所示:
{dateFrom=02-07-2014, dateTo=02-07-2014, season[seasonCode]=SO03}
GET请求是这样的:
http://localhost:8080/contracts/?dateFrom=02-07-2014&dateTo=02-07-2014&season%5BseasonCode%5D=SO03
我想把这个Map解析成我的契约域对象。但是这种结构行不通。没有子域(季节)它工作。
提前感谢!
更新1
作为对象发送,它看起来像这样:(输出浏览器)
Object { dateFrom: "09-07-2014", dateTo: "08-07-2014", season: Object }
JSON后发送。将其字符串化如下:
"{"fromDate":"09-07-2014","dateTo":"08-07-2014","season":{"saiCode":"SO03"}}"
在这种情况下,我认为问题是在开始和结束的双引号。
我认为最好的两个选择是:
1)修改你的JS对象,只有简单的对象。如果你在更新之前查看你的请求URL,你有:
{你的IP:端口}/合同/? dateFrom = 02 - 07 - 2014 -, dateTo = 02 - 07 - 2014 -,赛季% 5 bseasoncode % 5 d = SO03
这不是JSON,是一个简单的请求,有三个参数:
dateFrom = 02-07-2014
dateTo = 02-07-2014
season%5BseasonCode%5D= SO03 // %5B and %5D are '[' and ']' escaped
所以你的javascript正在转换一个JS对象(不是JSON)在普通参数。
2)发送一个参数,一个字符串,与你的JSON结构,然后使用一些JSON库解析它:
http://localhost:8080/contracts/?myJson=<JSON_String>
,然后将控制器修改为:
@RequestMapping(value="/", method=RequestMethod.GET, headers="Accept=text/plain")
public ResponseEntity<String> getVertagFromSearch(@RequestParam String myJson, ModelMap model){
JSONObject myJSON= new JSONObject (myJson);
...
}
通常发送JSON更容易与POST(只需将其添加到正文),但由于您的请求似乎要求数据,POST请求不是一个好主意。其余大多数api使用第一种方法,JSON更倾向于作为响应的一部分,而不是GET请求的一部分。
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 借助asp.net验证或java脚本对多个文本进行验证
- java.net和javascript之间正则表达式的差异
- 谷歌地图固定位置覆盖
- 如何从Java/scala调用js美化程序
- 当没有互联网连接时,谷歌地图Java脚本API处理
- java脚本中的谷歌地图在第二次点击时不起作用
- 谷歌地图生成了Java脚本的任何动态循环
- Java - JWebBrowser无法加载新点到地图
- 谷歌地图Api Java脚本
- 必应地图Web部件(Java脚本错误)
- 如何在Java脚本中动态更改谷歌地图标记图标图像的设置间隔函数
- Javascript地图从java地图
- 如何获得JSON字符串与子域在Java地图在Spring MVC控制器
- Java脚本谷歌地图,地方自动完成不工作
- Java脚本命令行参数&地图
- 如何获得经度和纬度从地址在谷歌地图使用java脚本在离子
- 谷歌地图API v3,点击事件没有在Java脚本中被触发
- 谷歌地图-多个标记从数据库- phpsqlajax - Java
- 用java脚本将用户位置与谷歌地图同步