Java를 사용하여 neo4j에서 객체를 노드 속성 (문자열 유형)으로 직렬화해야합니다. 일부 변환기/직렬 변환기를 적용 할 수 있습니까? 다음이 당신을 위해 매우 쉽게neo4j 노드의 직렬화 된 속성
난 당신이 SDN을 사용하는 경우 .NET 신 클라이언트가 JsonConverter
Java를 사용하여 neo4j에서 객체를 노드 속성 (문자열 유형)으로 직렬화해야합니다. 일부 변환기/직렬 변환기를 적용 할 수 있습니까? 다음이 당신을 위해 매우 쉽게neo4j 노드의 직렬화 된 속성
난 당신이 SDN을 사용하는 경우 .NET 신 클라이언트가 JsonConverter
같은 뭔가를 알고 (그리고 프록시에 의해 나는 스프링 프레임 워크의 나머지 부분을 가정).
import org.springframework.core.convert.converter.Converter
public class YourPropertyTypeToStringConverter
implements Converter<YourPropertyType, String> {
@Override
public String convert(final YourPropertyType source) {
//some code that takes your object and returns a String
}
}
을 그리고 또 다시 다시 변환 : 첫째로 당신은 문자열로 데이터를 변환합니다 귀하의 재산에 대한 변환기를 작성해야합니다 (Spring documentation의 7.5 절 참조)
public class StringToYourPropertyTypeConverter
implements Converter<String, YourPropertyType> {
@Override
public YourPropertyType convert(final String source) {
//some code that takes a String and returns an object of your type
}
}
그런 당신에게 일부 구성을 추가하여 스프링 프레임 워크 변환을 가능하게해야하는 것은 :
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="your.package.YourPropertyTypeToStringConverter"/>
<bean class="your.package.StringToYourPropertyTypeConverter"/>
</set>
</property>
</bean>
당신의 @NodeEntity 주석이 수업 시간에 당신은 @GraphProperty annota을 추가 할 수 있습니다 형태로 변환을 필요로하는 분야에 기 :
@GraphProperty(propertyType = String.class)
이제 컨버터는 당신이 양방향으로 변환 할 수 있습니다대로만큼 좋아하는 무엇이든 할 수 있지만, 당신은 잭슨을 사용하여 JSON을 위해 특별히 사소한 예를 물었다.
프로젝트에 잭슨을 포함 :
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.3</version>
</dependency>
문자열로 클래스에서 변환하려면 : 다시
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(yourObject);
과 : 분명히
YourPropertyType deserialised = mapper.readValue(json, YourPropertyType.class);
구성 할 수있는 많은, GitHub에 관한 문서가 있습니다.
환경에 대해 더 알려 줄 수 있습니까? 예 : 봄을 사용하고 있습니까? Jackson (https://github.com/FasterXML/jackson)과 같은 라이브러리를 찾고 있습니까 – JohnMark13
Neo4J와 스프링 통합을 사용하고 있습니다. – Fagoter