Сериализация ресурса FHIR в JSON с использованием JAVA API

Я пытаюсь преобразовать объект FHIR Resource или ResourceOrFeed в строку JSON. Я не смог найти какие-либо методы API, доступные для этого в реализации Java.

Для .NET API доступны сериализаторы, но аналогичный API недоступен для реализации Java.

Любые указатели на то, как преобразовать объект ResourceOrFeed в представление Actual String JSON?

Преобразование по умолчанию из конвертера Spring Jackson работает для меня, но оно не выводит правильный JSON, и я не хочу писать собственный сопоставитель объектов.


person Ashish    schedule 05.06.2014    source источник


Ответы (2)


Попробуйте HAPI fhir: http://hapifhir.io/

Зависимость Maven для добавления в файл pom:

<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);
}
person PK.Shrestha    schedule 22.11.2016

Это можно сделать одним из способов:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
new org.hl7.fhir.instance.formats.JsonComposer().compose(bytes, feed, true);
return new String(bytes.toByteArray());
person Grahame Grieve    schedule 05.06.2014
comment
Будущие версии будут иметь удобные методы, которые создают строку напрямую. - person Grahame Grieve; 05.06.2014