title: Get JSON path even for tabular in Python
body: <p>In Python, I would like to get all the paths of a json file, even those of the tables.</p>
  <p>The JSON file:</p>
  <pre><code>{
      &quot;objetname&quot;: {
          &quot;lala&quot;: [
              {
                  &quot;type&quot;: &quot;thetype&quot;,
                  &quot;infos&quot;: {
                      &quot;info1&quot;: 24,
                      &quot;info2&quot;: &quot;blablabla&quot;
                  }
              }
          ],
          &quot;id&quot;: &quot;521&quot;,
          &quot;titi&quot;: &quot;02&quot;,
          &quot;booking&quot;: &quot;2022-06-21&quot;,
          &quot;idbis&quot;: &quot;123456789&quot;,
          &quot;type&quot;: &quot;OP&quot;,
          &quot;toto&quot;: &quot;0006&quot;
      }
  }
  </code></pre>
  <p>In fact I would like to retrieve in a dictionary, the jsonpath in key and (NULL, 0, 0) in value where NULL is because it's not a tabular, 0 is the depth of the tabular and 0 is the order of tabular.
  In the case of array, I would like to have in value the path in the array like in first value, the depth, and the order array:</p>
  <pre><code>'objetname.lala': (['type', 'infos.info1', 'infos.info2'],1,1),
  'objetname.id': ('NULL', 0, 0),
  'objetname.titi': ('NULL', 0, 0),
  'objetname.booking': ('NULL', 0, 0),
  'objetname.idbis': ('NULL', 0, 0),
  'objetname.type': ('NULL', 0, 0),
  'objetname.toto': ('NULL',0, 0)
  </code></pre>
  <p>This is my code:</p>
  <pre><code>mydict = {}
  all_keys = []
  acc = 0
  for key, value in df_json.iloc[0].iteritems():
      if (value is not None): #or (value!='NULL') or (value!=np.nan):
          mydict[key] = 'NULL', 0, 0
          depth = depthCount(value)
          if isinstance(value, list):
              tab = list(dict.fromkeys(value[0], 0).keys())
              # Case no key:value where key is not fix or string only then ARRAY_LEVEL=99
              if len(tab[0])==1:
                  mydict[key] = 'NULL', 99, 0
              elif depth==1:
                  acc += 1
                  mydict[key] = tab, 1, acc
  </code></pre>
  <p>Also,</p>
  <pre><code>{
      &quot;ptyAddresses&quot;: {
          &quot;ptyAddresses&quot;: [{
              &quot;pty&quot;: &quot;7650&quot;,
              &quot;Address&quot;: {
                  &quot;addr&quot;: &quot;887&quot;,
                  &quot;PostlAddresses&quot;: [{
                      &quot;line&quot;: &quot;value&quot;,
                      &quot;lineSeq&quot;: &quot;value&quot;
                  }],
                  &quot;geographicsCoordinates&quot;: {
                      &quot;latitude&quot;: 39,
                      &quot;longitude&quot;: -150
                  }
              }
          }]
      }
  }
  </code></pre>
  <p>For depth level 2 tables, I would like to have this result:</p>
  <pre><code>ptyAddresses.ptyAddresses: [pty, Address.addr, Address.geographicsCoordinates.latitude, Address..geographicsCoordinates.longitude], 1, order_array
  Address.PostlAddresses: [line, lineSeq], 2, 0
  </code></pre>