【问题标题】:handling JSON via play framework 1.2.3通过播放框架 1.2.3 处理 JSON
【发布时间】: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 还是从请求参数创建对象?

【问题讨论】:

    标签: json playframework-1.x


    【解决方案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 - 任何其他建议都将受到欢迎。

        【讨论】:

          猜你喜欢
          • 2014-02-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多