Parsowanie JSON

Paweł Tometczak
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad rok
  • Postów:31
0

Hej.

Mam taki plik json:

Kopiuj
{
     "valid": {
          "documents/00099732": {
               " Prezes Komunikacji Elektronicznej": {
                    "tokens": [
                         "Prezes",
                         "Komunikacji",
                         "Elektronicznej",
                    ],
                    "lemmas": [
                         "prezes",
                         .......,

i potrzebuje dostać się do "tokens" bo muszę zliczyć ich ilość.

Jakieś pomysły?

edytowany 4x, ostatnio: Riddle
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:6 dni
0

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:minuta
  • Lokalizacja:Laska, z Polski
  • Postów:10085
1
Kopiuj
import json

string = """
{
     "valid": {
          "documents/00099732": {
               " Prezes Komunikacji Elektronicznej": {
                    "tokens": [
                         "Prezes",
                         "Komunikacji",
                         "Elektronicznej",
                    ],
                    "lemmas": [
                         "prezes",
                         .......,
"""

parsed = json.loads(string)

tokens = parsed['valid']['documents/00099732'][" Prezes Komunikacji Elektronicznej"]['tokens']
edytowany 1x, ostatnio: Riddle
Paweł Tometczak
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad rok
  • Postów:31
0

Tak to wiem:)

Mam wiele takich ‚tokens’ :)

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:minuta
  • Lokalizacja:Laska, z Polski
  • Postów:10085
3
Paweł Tometczak napisał(a):

Tak to wiem:)

Mam wiele takich ‚tokens’ :)

No to musisz sprecyzować dokładnie które z tych wielu 'tokens' chcesz.

Jeśli tylko ze wszystkich dat, to tak:

Kopiuj
tokens = [t[" Prezes Komunikacji Elektronicznej"]['tokens'] for t in parsed['valid'].values()]
edytowany 3x, ostatnio: Riddle
Spearhead
  • Rejestracja:prawie 6 lat
  • Ostatnio:8 minut
  • Postów:1002
1
Kopiuj
import jmespath

jmespath.search("valid.*.*.tokens | [][]", data)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.