通过播放框架 1.2.3 处理 JSON
Posted
技术标签:
【中文标题】通过播放框架 1.2.3 处理 JSON【英文标题】:handling JSON via play framework 1.2.3 【发布时间】:2012-10-01 17:57:39 【问题描述】:我通过 XHR 在 post 请求中发送 JSON 消息(内容类型:application/json;charset=UTF-8 - 我使用的是 firefox/chrome)。 但是,我无法在 play 1,.2.3 控制器中处理/接收 JSON 消息 - 可能是由于飞行员错误。任何见解/工作示例将不胜感激 - 谢谢
JSON 消息(在 JSONLint 中成功验证):
"email":"admin1@test.com","password":"admin123"
我应该查看 TypeBinder 还是从请求参数创建对象?
【问题讨论】:
【参考方案1】:您可以使用 play 中嵌入的 gson 来解析参数。在你的控制器方法中
MyParam myParam = new GsonBuilder().create().fromJson(request.params.get("myParam"), MyParam.class);
【讨论】:
【参考方案2】:您也可以尝试使用 FLEXJSON (http://flexjson.sourceforge.net/) 以避免遇到任何循环循环错误,尤其是在
【讨论】:
【参考方案3】:我最终遍历 request.params.allSimple 以通过 request.params.get 获取值。我在这个值上使用了 JsonParser().parse 来获取 JSONElement。然后我在 JSONElement 上使用 getAsJsonObject() 来获取 JSONBody。我通过对 JSONBody 的 get 调用检索了所需的 JSONElements,然后通过 getAs 方法调用来获取实际值。我将更详细地研究 TypeBinders - 任何其他建议都将受到欢迎。
【讨论】:
以上是关于通过播放框架 1.2.3 处理 JSON的主要内容,如果未能解决你的问题,请参考以下文章
Beego框架 图片转base64通过JSON传入再编码成图片存放
Beego框架 图片转base64通过JSON传入再编码成图片存放
youtube-dl:通过忽略 archive.txt 中指定的视频,将 youtube 视频 info.json 下载到播放列表中