通过播放框架 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传入再编码成图片存放

通过 Spotify API 从播放列表中获取 ID

Beego框架 图片转base64通过JSON传入再编码成图片存放

自定义统一api返回json格式(app后台框架搭建三)

youtube-dl:通过忽略 archive.txt 中指定的视频,将 youtube 视频 info.json 下载到播放列表中

如何通过json暴露play framework 1.2.7中的内部错误消息id?