playframework에서 json 읽기 정보
4115 단어 JSONPlayFramework
동기
회사의 어떤 시스템에서 json에 한 항목 늘리면 오류가 나오게 되었기 때문에 json의 parse가 너무 엄격한 것은 아닐까? 라는 이야기가 되었지만, 그런 바보라는 느낌이므로 조금 시도해 보았다.
소스 코드
Application.scalapackage controllers
import play.api.libs.json.{Json, Reads}
import play.api.mvc._
class Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
case class Person(name: String, age: Int)
implicit val personReads: Reads[Person] = Json.reads[Person]
def json = Action(parse.json) { implicit request =>
request.body.validate[Person].fold(invalid => BadRequest(invalid.mkString(",")), valid => Ok("no problem"))
}
}
Person 클래스에 따른 형태
Person 클래스를 따르지 않는 형태
음
여유로 parse 하기 때문에, 원인은 그 밖에 있을 것 같네요.
결론
사실 Jackson을 사용하고 있으며 Jackson의 deserialize에서 오류가 발생했습니다.
h tp : // 쿠이타. 이 m/오페인 gl-8080/이고 ms/b613b9b3bc5d796c840c#2-7
해결 방법
case class에@JsonIgnoreProperties(ignoreUnknown = true)
를 붙여 에러를 내지 않도록 했습니다.
Jackson을 사용할 때 조심하지 않으면 안됩니다.
playframework의 json 퍼스에서 엄격하게 parse하려면
이 근처인가?
Reference
이 문제에 관하여(playframework에서 json 읽기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FScoward/items/41116d77c3889065474d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Application.scala
package controllers
import play.api.libs.json.{Json, Reads}
import play.api.mvc._
class Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
case class Person(name: String, age: Int)
implicit val personReads: Reads[Person] = Json.reads[Person]
def json = Action(parse.json) { implicit request =>
request.body.validate[Person].fold(invalid => BadRequest(invalid.mkString(",")), valid => Ok("no problem"))
}
}
Person 클래스에 따른 형태
Person 클래스를 따르지 않는 형태
음
여유로 parse 하기 때문에, 원인은 그 밖에 있을 것 같네요.
결론
사실 Jackson을 사용하고 있으며 Jackson의 deserialize에서 오류가 발생했습니다.
h tp : // 쿠이타. 이 m/오페인 gl-8080/이고 ms/b613b9b3bc5d796c840c#2-7
해결 방법
case class에@JsonIgnoreProperties(ignoreUnknown = true)
를 붙여 에러를 내지 않도록 했습니다.
Jackson을 사용할 때 조심하지 않으면 안됩니다.
playframework의 json 퍼스에서 엄격하게 parse하려면
이 근처인가?
Reference
이 문제에 관하여(playframework에서 json 읽기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FScoward/items/41116d77c3889065474d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
음
여유로 parse 하기 때문에, 원인은 그 밖에 있을 것 같네요.
결론
사실 Jackson을 사용하고 있으며 Jackson의 deserialize에서 오류가 발생했습니다.
h tp : // 쿠이타. 이 m/오페인 gl-8080/이고 ms/b613b9b3bc5d796c840c#2-7
해결 방법
case class에@JsonIgnoreProperties(ignoreUnknown = true)
를 붙여 에러를 내지 않도록 했습니다.
Jackson을 사용할 때 조심하지 않으면 안됩니다.
playframework의 json 퍼스에서 엄격하게 parse하려면
이 근처인가?
Reference
이 문제에 관하여(playframework에서 json 읽기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FScoward/items/41116d77c3889065474d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사실 Jackson을 사용하고 있으며 Jackson의 deserialize에서 오류가 발생했습니다.
h tp : // 쿠이타. 이 m/오페인 gl-8080/이고 ms/b613b9b3bc5d796c840c#2-7
해결 방법
case class에@JsonIgnoreProperties(ignoreUnknown = true)
를 붙여 에러를 내지 않도록 했습니다.
Jackson을 사용할 때 조심하지 않으면 안됩니다.
playframework의 json 퍼스에서 엄격하게 parse하려면
이 근처인가?
Reference
이 문제에 관하여(playframework에서 json 읽기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FScoward/items/41116d77c3889065474d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 근처인가?
Reference
이 문제에 관하여(playframework에서 json 읽기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/FScoward/items/41116d77c3889065474d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)