code: private Coordinate parseCoordinate(JsonParser jp) throws IOException {
          jp.nextToken();
          double x = jp.getDoubleValue();// VALUE_NUMBER_FLOAT
          jp.nextToken(); // second value
          double y = jp.getDoubleValue();
          Coordinate coord;
          //We look for a z value
          jp.nextToken();
          if (jp.getCurrentToken() == JsonToken.END_ARRAY) {
              coord = new Coordinate(x, y);
          } else {
              double z = jp.getDoubleValue();
              jp.nextToken(); // exit array
              coord = new Coordinate(x, y, z);
          }
          jp.nextToken();
          return coord;
      }
docs: Parses a GeoJSON coordinate array and returns a JTS coordinate. The first
  token corresponds to the first X value. The last token correponds to the
  end of the coordinate array "]".
  
  Parsed syntax:
  
  100.0, 0.0]
  
  @param jp
  @throws IOException
  @return Coordinate