3

我正在尝试将 FHIRResourceResourceOrFeed对象转换为 JSON 字符串。我在 Java 实现中找不到任何可用的 API 方法。

有可用于 .NET api 的序列化程序,但类似的 API 不适用于 Java 实现。

关于如何将ResourceOrFeed对象转换为实际字符串 JSON 表示的任何指针?

Spring Jackson 转换器的默认转换对我有用,但它没有输出正确的 JSON,我不想编写自定义对象映射器。

4

2 回答 2

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);
}
于 2016-11-22T06:37:03.990 回答
1

这是可以做到的一种方式:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
new org.hl7.fhir.instance.formats.JsonComposer().compose(bytes, feed, true);
return new String(bytes.toByteArray());
于 2014-06-05T06:31:26.383 回答