处理Json请求的问题

时间:2014-03-22 20:56:50

标签: json scala playframework

我试图创建可以使用Json处理HTTP请求的服务器。对不起,如果我有。我对这一切还不熟悉。 所以,我创建了一个函数,它接受了JsValue并使用它。

    def find(info: JsValue) = {
        val req = Search.makeRequest("person",info) 
        val result = DB.withConnection { implicit c =>
            SQL(req).as(person *)
        }
        Json.toJson(result)
    }

然后我做这样的事情:

val test = Json.parse("""{"name":"John"}""")
Person.find(test)

工作正常。但后来我尝试用HTTP请求调用此函数:

路线档案:

GET     /findperson                 controllers.PersonController.findPerson(info: String)

控制器:

def findPerson(info: String) = Action {
 Ok(Person.find(Json.parse(info)))
}

实际要求:

http://localhost:9000/findperson?info="""{"name":"John"}"""

我明白了:

 Exception: Malformed JSON: Got a sequence of JsValue outside an array or an object.

有人可以告诉我它是怎么做的吗?请。

1 个答案:

答案 0 :(得分:1)

虽然我同意@Ryan认为这是一件不寻常的事情,但我认为你遇到的问题实际上就像消息所说的那样,“格式错误的JSON”。请记住,您的url参数不是源代码,它是一个简单的字符串。没有必要逃避引号。所以尝试使用url:

http://localhost:9000/findperson?info={"name":"John"}