我正在尝试将FHIR Resource
或ResourceOrFeed
对象转换为JSON字符串。我在Java实现中找不到任何可用的API方法。
有可用于.NET API的序列化程序,但类似的API不适用于Java实现。
有关如何将ResourceOrFeed
对象转换为实际字符串JSON表示的任何指针?
Spring Jackson转换器的默认转换对我有用,但它没有输出正确的JSON,我也不想编写自定义的Object mapper。
答案 0 :(得分:4)
尝试HAPI fhir:http://hapifhir.io/
要在pom文件中添加的Maven依赖项:
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
<version>2.2-SNAPSHOT</version>
</dependency>
Java片段:
import org.hl7.fhir.dstu3.model.*;
import ca.uhn.fhir.context.FhirContext;
// for other imports use your IDE.
public void printPatientJSON() {
FhirContext ourCtx = FhirContext.forDstu3();
Patient patient = new Patient();
patient.addName().addFamily("PATIENT");
// now convert the resource to JSON
String output = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(patient);
System.out.println(output);
}
答案 1 :(得分:1)
这是可以做到的一种方式:
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
new org.hl7.fhir.instance.formats.JsonComposer().compose(bytes, feed, true);
return new String(bytes.toByteArray());