3
Jackson에서 객체를 직렬화 및 비 직렬화 할 때 URL 인코딩/디코딩의 쉬운 방법이 있는지 궁금합니다. 그 이유는 Riak에서 색인을 생성 할 수신 필드에 잘못된 문자가 포함되지 않도록하기 위해서입니다.잭슨 주석 또는 직렬화 중에 URL 인코딩/디코딩 방법?
예를 들어 내가 (스칼라) 다음 클래스가 다음 name
필드에 따라서
case class Client(
@([email protected])("guid")
@([email protected])
val guid: String,
@([email protected])("name")
@([email protected])(name = "name")
val name: String,
@([email protected])("address")
val address: String,
@([email protected])("contact")
val contact: String,
@([email protected])("phone")
@([email protected])(name = "phone")
val phone: String,
@([email protected])("suspended")
val suspended: Boolean=false,
@([email protected])("created")
val created: Date=now,
@([email protected])("updated")
val updated: Date=now
)
을, 나는 Riak 지수의 일부인 이름 사이에 공백이있을 수 있습니다.
Caused by: java.net.URISyntaxException: Illegal character in path at index 82: http://db2.3tierlogic.com:8098:8098/buckets/accounts-client/index/name_bin/Calgary Flames
at java.net.URI$Parser.fail(URI.java:2810)
at java.net.URI$Parser.checkChars(URI.java:2983)
at java.net.URI$Parser.parseHierarchical(URI.java:3067)
at java.net.URI$Parser.parse(URI.java:3015)
at java.net.URI.<init>(URI.java:577)
at java.net.URI.create(URI.java:839)
... 105 more
주석 또는 URL 인코딩의 아주 간단한 방법이 있는가하고 즉시 해당 필드를 디코딩 : 나는 Riak에서 JSON 객체를 저장하기 위해 갈 때 다음과 같은 오류가 발생합니다?
확인 아 아, 그것은 것 간단한 :) 감사합니다 생각하지 않았다 지정하는 것입니다! – crockpotveggies
'JsonSerialize'가 주석 패키지 외부로 옮겨 졌다면 어떨까요? '발견되지 않음 : 컴파일시 JsonSerialize'를 입력하십시오. 내 다른 특수 효과가 제대로 작동하고 있습니다. * 편집 * 2.0에 있지 않을 수도 있습니까? – crockpotveggies
이 com.fasterxml.jackson.databind.annotation에 있어야합니다. maven을 사용하는 경우 jackson-databind 모듈을 포함해야합니다. – jdevelop