解析 HttpServletRequest 包含 jsonp 字符串
Posted
技术标签:
【中文标题】解析 HttpServletRequest 包含 jsonp 字符串【英文标题】:Parse HttpServletRequest contains jsonp string 【发布时间】:2012-11-09 09:52:33 【问题描述】:当我尝试发送跨域 jsonp 请求时:
$.getJSON(url + "?callback=?",
value : 'John',
record :
value : 'a',
list : [ 1, 2 ]
);
然后我尝试像这样使用 java servlet 获取它:
public class TestServlet extends HttpServlet
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
String output = request.getParameter("callback")
+ "(\"response\":\"test\");";
response.setContentType("application/javascript;charset=utf-8");
PrintWriter out = response.getWriter();
out.println(output);
内部servlet请求字符串有参数名称:
_=1353482336546
value=John
record[value]=a
如何将请求字符串解析为原始 JSON?
我正在使用嵌入式码头服务器,我想在 JSON 字符串上使用“JSON to Object”码头解析器
【问题讨论】:
你想把 json 解析成对象吗?试试 google gson code.google.com/p/google-gson 但是我可以在没有 gson 依赖的情况下实现它吗?有没有办法将查询字符串转换为原始 JSON? 查询字符串到原始 JSON 意味着..我知道..“来自浏览器的请求被转换为服务器上的 java 对象,服务器上的响应 java 对象被转换为 json 字符串并发送给浏览器”..写出来仅供参考.. 我认为这个链接会对你有所帮助。 ***.com/questions/5245840/…***.com/questions/1395551/… 【参考方案1】:您可以应用 flexjson 将 json 字符串解析为对象。请看:
live example
flexjson library
【讨论】:
以上是关于解析 HttpServletRequest 包含 jsonp 字符串的主要内容,如果未能解决你的问题,请参考以下文章
ServletException、HttpServletResponse 和 HttpServletRequest 无法解析为类型 [重复]
eclipse下遇到 无法解析类型 javax.servlet.http.HttpServletRequest
阿昌教你自定义拦截器&自定义参数解析器&自定义包装HttpServletRequest