我试图创建可以使用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.
有人可以告诉我它是怎么做的吗?请。
答案 0 :(得分:1)
虽然我同意@Ryan认为这是一件不寻常的事情,但我认为你遇到的问题实际上就像消息所说的那样,“格式错误的JSON”。请记住,您的url参数不是源代码,它是一个简单的字符串。没有必要逃避引号。所以尝试使用url:
http://localhost:9000/findperson?info={"name":"John"}