title: Using Jackson's JsonNode.findPath(String fieldName) to get the value of a field with a Non-Unique column name
body: <p>Consider the following (simplied) JSON tree structure:</p>
  
  <pre><code>  {
        "id": "1",
        "metaData": {
          "name": "nestedName"
        },
        "name": "rootName"
    }
  </code></pre>
  
  <p>I put this stucture in a com.fasterxml.jackson.databind.JsonNode object. To get the String values of these columns, I need only include this statement in my Java code:</p>
  
  <pre><code>String id = jsonNode.findPath("id").textValue();
  </code></pre>
  
  <p>I love this not only for its simplicity, but that my code doesn't have to be aware of the JSON tree structure it's parsing. I realize that if I want [root][name] specifically though, I'll have to have some kind of determination logic.</p>
  
  <p>My question is, what is the least amount of logic I will require in order to somehow distinguish/specify what "name" to get? I've looked into the JsonNode.findValues(String fieldName) to get a list of the values, but still not sure how I would then determine which value was coming from which "name" and how to choose the "root" one, or at least, the one closest to the root.</p>
  
  <p>Apologies if this is a duplicate question but I couldn't find an exact match, so asking again.</p>