Juiste Path van een JSON

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • osp
  • Registratie: Maart 2005
  • Laatst online: 28-10-2021
Beste Tweakers,

dmv Pentaho PDI (ETL sofware) lees ik een JSON file uit en ik kan de velden ophalen door bij fields het pad op te geven (ik ben een JSON noob btw)
Ik gebruik dus nu voor origin het pad $..origin
Ik wil echter ook de 16180 en de 18160 etc in een kolom ervoor hebben, maar wat ik ook probeer, ik kan maar niet het juiste pad vinden. Ik heb deze al geprobeerd:
$.
$..
$..[]
$..[16180]

Dit is een deel van de JSON. Iemand enig idee wat het juiste pad zou moeten zijn?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
    "16180": [
        {
            "origin": "m",
            "status": "v",
            "timestamp": 1612134900,
            "value": 174.5
        },
    ],
    "18160": [
        {
            "origin": "m",
            "status": "v",
            "timestamp": 1614553200,
            "value": 772
        }
    ],
    "18181": [
        {
            "origin": "m",
            "status": "v",
            "timestamp": 1614553200,
            "value": 202219.66
        }
    ],
    "18182": [
        {
            "origin": "m",
            "status": "v",
            "timestamp": 1614553200,
            "value": 167921.68
        }
    ],
    "18381": [
        {
            "origin": "m",
            "status": "v",
            "timestamp": 1614553200,
            "value": 58957.72
        }
    ],
    "18382": [
        {
            "origin": "m",
            "status": "v",
            "timestamp": 1614553200,
            "value": 48567.18
        }
    ]
}

Beste antwoord (via osp op 28-10-2021 14:29)


  • Archie_T
  • Registratie: Januari 2002
  • Laatst online: 08:44
Ik gebruik zelf altijd even Jsonpath.com voor dit soort vragen. Maakt het wat duidelijker.

Alle reacties


Acties:
  • +1 Henk 'm!

  • Aragnut
  • Registratie: Oktober 2009
  • Laatst online: 08:16
Ik denk dat je in de documentatie van Pentaho PDI zal moeten neuzen en hoe deze een JSON inleest naar een hash/array/object (whatever ze gebruiken). Zo heb ik zelf gemerkt dat javascript er anders mee om gaat dan perl bijvoorbeeld.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Archie_T
  • Registratie: Januari 2002
  • Laatst online: 08:44
Ik gebruik zelf altijd even Jsonpath.com voor dit soort vragen. Maakt het wat duidelijker.

Acties:
  • 0 Henk 'm!

  • osp
  • Registratie: Maart 2005
  • Laatst online: 28-10-2021
Dank je @Archie_T . Ik ben daar nu wat dingen aan het proberen. Hopelijk lukt het.
@Aragnut heb ik inmiddels doorgenomen, maar helaas staat het er niet expliciet in. Maar ik ga lekker dingen proberen. Dank jullie voor de hulp.

Acties:
  • 0 Henk 'm!

  • Neggs
  • Registratie: Augustus 2010
  • Laatst online: 08-09 16:03
Misschien heb je iets aan jq, gebruik ik zelf ook graag
https://stedolan.github.io/jq/

Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Wel even een waarschuwing: JSON paths zijn niet fantastisch gestandaardiseerd. Jsonpath.com is inderdaad een goed begin om een beetje in rond te spelen maar zeker voor de wat geavanceerdere trucjes (zoals condities) zul je verschillen zien tussen verschillende implementaties, dus dan zul je toch specifiek voor je eigen implementatie moeten testen.

Heeft geen speciale krachten en is daar erg boos over.

Pagina: 1