2016-09-12 1 views
1

J'ai vu un post sur l'insertion de nouveaux nœuds à JsonNode et j'ai rencontré deux réponses distinctes, mais je ne peux pas saisir la différence entre les deux.Différence entre ObjectMapper(). CreateObjectNode et JsonNodeFactory.instance.objectNode()?

De ma petite expérience, ObjectMapper ne vous permet pas de créer quoi que ce soit, mais ObjectNode et ArrayNode tout JsonNodeFactory vous permet de créer a whole bunch of nodes. En dehors de cela, quelles sont les autres différences?

Aussi, étant donné que ObjectMapper est considered expensive, je me demandais si la dernière façon est plus efficace?

Répondre

5

Il n'y a pas de différence entre les approches suivantes:

ObjectMapper mapper = new ObjectMapper(); 
ObjectNode objectNode = mapper.createObjectNode(); 
ObjectNode objectNode = JsonNodeFactory.instance.objectNode(); 

Sous le capot, Jackson déléguera la méthode createObjectNode()-JsonNodeFactory.

Pour plus d'informations sur l'utilisation de JsonNodeFactory, reportez-vous à cette section answer.

+0

Donc, si tout ce que je veux de 'ObjectMapper' est de créer' ObjectNode', sera-t-il plus efficace si j'utilise 'JsonNodeFactory' à la place, car il n'aura pas à créer' ObjectMapper'? –

+0

@THISUSERNEEDSHELP Si vous avez juste besoin de créer des instances 'ObjectNode', le' JsonNodeFactory' vous suffit. –

+0

Juste pour être sûr, même si je crée plusieurs 'ObjectNodes' avec' JsonNodeFactory', cela devrait être moins cher que de créer un 'ObjectMapper'? –