J'utilise EMFJson pour sérialiser les modèles EMF Ecore. Je suis capable de créer une chaîne JSON à partir d'un modèle existant. Cependant, le chemin du retour ne fonctionne pas pour moi. J'ai essayé les deux extraits suivants:Lecture d'une chaîne JSON à l'aide de EMFJson
Première tentative:
ObjectMapper objectMapper = EMFModule.setupDefaultMapper();
objectMapper.reader().forType(MyClass.class).readValue(string);
Deuxième tentative:
ObjectMapper objectMapper = EMFModule.setupDefaultMapper();
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap()
.put("json", new JsonResourceFactory());
try {
Resource resource = objectMapper
.reader()
.withAttribute(EMFContext.Attributes.RESOURCE_SET, resourceSet)
.withAttribute(EMFContext.Attributes.RESOURCE_URI, null)
.forType(Resource.class)
.readValue(string);
} catch (IOException e1) {
e1.printStackTrace();
}
Pour les deux tentatives que je reçois l'exception suivante: java.lang.RuntimeException: Impossible de créer ressource pour uri par défaut
Je suppose que la deuxième approche ne peut pas fonctionner du tout car je ne sais pas quoi fournir comme RESOURCE_URI. L'exemple here J'ai pris comme base pour la tentative deux lit un fichier plutôt qu'une chaîne. Est-ce que quelqu'un a une idée de comment faire ce travail? Merci!