我正在尝试将 FHIRResource
或ResourceOrFeed
对象转换为 JSON 字符串。我在 Java 实现中找不到任何可用的 API 方法。
有可用于 .NET api 的序列化程序,但类似的 API 不适用于 Java 实现。
关于如何将ResourceOrFeed
对象转换为实际字符串 JSON 表示的任何指针?
Spring Jackson 转换器的默认转换对我有用,但它没有输出正确的 JSON,我不想编写自定义对象映射器。
试试 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);
}
这是可以做到的一种方式:
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
new org.hl7.fhir.instance.formats.JsonComposer().compose(bytes, feed, true);
return new String(bytes.toByteArray());