Bestimmte parameter aus Jsonfile auslesen

J

Jhue89

Aktives Mitglied
Hallo Zusammen,
ich muss aus einem Jsonfile Variablen Auslesen. Leider kenn ich den Variablennamen nicht.
Außerdem brauche ich nicht alles aus dem Objekt.

JSON:
"PARAMETERS": {
      "BOXPARA": "4b6e0ee7-7566-3752-8694-6d06dea8099c",
      "ATTRIBUTE": null,
      "ATTRIBUTE02": {
        "PRINTED": false,
        "PRINTTEXT": null,
        "COLOR": null
      },
      "TRIM_SIDE": null,
      "TRIM_HEAD": null,
      "X": 600.0,
      "Y": 300.0,
      "Z": null,
      "W": 350.0,
      "S": null,
      "T": null,
      "A": null,
      "B": null,
      "C": null,
      "V1": 200.0,
      "V2": 200.0,
      "V3": 200.0,
      "V4": 200.0,
      "V5": null,
      "V6": null,
      "V7": null,
      "V8": null,
      "V9": null,
      "V10": null,
      "V11": null,
      "V12": null,
      "V13": null,
      "V14": null,
      "V15": null,
      "V16": null,
      "V17": null,
      "V18": null,
      "V19": null,
      "V20": null
    },

Auslesen muss ich alle Variablen ab "X" leider bin ich mir grade nicht ganz sicher wie ich die am besten rausfischen kann.

Bislang habe ich die Variblen immer direkt abgefragt.

Java:
.getAsJsonObject(objekt).get(value)

Aber wie gesagt wenn ich den namen nicht kenne geht das ja leider nicht. Ich weiss aber das diese Variablen immer ab pos. 6 starten. Dafür finde ich aber keine passende Funktion und ist wahrscheinlich auch nicht zukunftsorient.


Habt ihr eine Idee?
 
J

Joreyk

Bekanntes Mitglied
Java:
 jsonObject.keys().forEachRemaining(key -> {
        Object value = jsonObject.get(key);
     //....
    });

damit hast den Key namen und das Objekt das drin Liegt

falls du dann die Parameter die du brauchst findest kannst du ab dann ein Array oder sonst was befüllen oder drauf reagieren

oder du suchst gleich nach dem Key aber du weist ja nicht wie die heißen


ansonsten wenn du weist dass X drin sein muss
kannst du X raus holen mit dem Index
und ab da dann durchgehen um den Rest zu bekommen


falls es json sachen von dir ist und du verschiedene Json objekte benutzt könntest du ihnen eine ID oder typ wert geben und danach entscheiden iwe es interpretiert werden sollte
 
Zuletzt bearbeitet:
J

Jhue89

Aktives Mitglied
Java:
 jsonObject.keys().forEachRemaining(key -> {
        Object value = jsonObject.get(key);
     //....
    });

damit hast den Key namen und das Objekt das drin Liegt

falls du dann die Parameter die du brauchst findest kannst du ab dann ein Array oder sonst was befüllen oder drauf reagieren

oder du suchst gleich nach dem Key aber du weist ja nicht wie die heißen


ansonsten wenn du weist dass X drin sein muss
kannst du X raus holen mit dem Index
und ab da dann durchgehen um den Rest zu bekommen


falls es json sachen von dir ist und du verschiedene Json objekte benutzt könntest du ihnen eine ID oder typ wert geben und danach entscheiden iwe es interpretiert werden sollte
Ok, von Keys hab ich auch schon was gelesen aber so richtig bekomme ich das nicht ans laufen.

der Code müsste dann doch so aussehen oder?

Java:
  JsonObject TEST = new JsonObject();
            TEST = para.get(2).getAsJsonObject().getAsJsonObject(objekt));
          
                        TEST.keys().forEachRemaining(key -> {
                            Object value = jsonObject.get(key);
                         //....
                        });

TEST.keys makiert er mir aber Rot.

Ich nutze diese lib com.google.gson.Gson
 
J

Jhue89

Aktives Mitglied
Hab schon. ich musste einige kleinigkeiten ändern. sieht jetzt so aus bei.

Java:
JsonObject TEST = new JsonObject();
            
            TEST = para.get(2).getAsJsonObject().getAsJsonObject(objekt);
                          for (String keyStr : TEST.keySet()) {
                            Object keyvalue = TEST.get(keyStr);

                            //Print key and value
                            System.out.println("key: "+ keyStr + " value: " + keyvalue);
                        }
 
J

Joreyk

Bekanntes Mitglied
Java:
            JSONArray parameterArray = new JSONArray();
           
            JSONObject  TEST = parameterArray.getJSONObject(2);
          
         
                        TEST.keys().forEachRemaining(key -> {
                            Object value = TEST.get(key);
                         //....
                        });
so sollte es auch bei dir gehen...ich hab halt org.json musst die Syntax noch umwurschteln
Java:
 TEST = para.get(2).getAsJsonObject().getAsJsonObject(objekt));
diese Zeile Versteh ich nicht was da erreicht werden sollte, repräsentiert das wie bei mir "getJSONObject(2); ?

ich seh ein komma am ende deines Json Objektes das würde darauf hindeuten dass du Von deiner Datei ein JSON Array Objekt einliest und kein einziges Json Objekt
 
J

Jhue89

Aktives Mitglied
Datei ist deulich größer es gibt noch weitere Objekte und Arrays, aber das war für dieses Problem erstmal nicht relevant.
Die Datei selber fängt als Array an:

JSON:
[
    "TITEL",
    "VERSION",
    {
        OBJEKT1{},
        OBJEKT2{}
        usw.
    }
]

daher das get(2).
 
J

Joreyk

Bekanntes Mitglied
Datei ist deulich größer es gibt noch weitere Objekte und Arrays, aber das war für dieses Problem erstmal nicht relevant.
Die Datei selber fängt als Array an:

JSON:
[
    "TITEL",
    "VERSION",
    {
        OBJEKT1{},
        OBJEKT2{}
        usw.
    }
]

daher das get(2).
achso ja gut dann ist es klar dass du ein bisschen tiefer schaufeln musst als wie ich bei meinem einzigen JSON array :D
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
kann ein JSON objekt nicht als array gelesen werden?

int i = 6;
object.getObject(i);
Die Dinge in dem Objekt haben per Spezifikation keine Ordnung, es gibt also keine "sechstes Element".

Gibt bestimmt Parser, die das trotzdem ermöglichen, aber das ist an der Spezifikation vorbei und kann jederzeit brechen.
 
J

Joreyk

Bekanntes Mitglied
Nungut dann kann der TE ja seinene JSON Objekten eine Variable geben die Immer dabei ist und dann im Programm je nachdem entscheiden wie dieses Objekt interpretiert werden soll
 
B

berndoa

Bekanntes Mitglied
Ich muss mal als Noob eine, womöglich dumme, Idee in den Raum werfen:
Wenn ich dieses Json file mal rein als Text betrachte bzw. als string oder etwas dergleichen, dann ist ja offensichtlich dass der Variabelnname immer vor eine ": steht und der zugehörige Variabelnwert direkt dahinter (wobei da noch ein leerzeichen ist).

Könnte man es rein rehcnerishc nicht im Sinne einer Textsuche einfach rausfiltern, was die Vriabelnnamen und zugehörigen -werte sind?
 
Mart

Mart

Bekanntes Mitglied
Ich muss mal als Noob eine, womöglich dumme, Idee in den Raum werfen:
Wenn ich dieses Json file mal rein als Text betrachte bzw. als string oder etwas dergleichen, dann ist ja offensichtlich dass der Variabelnname immer vor eine ": steht und der zugehörige Variabelnwert direkt dahinter (wobei da noch ein leerzeichen ist).

Könnte man es rein rehcnerishc nicht im Sinne einer Textsuche einfach rausfiltern, was die Vriabelnnamen und zugehörigen -werte sind?
das macht indirekt die Lösung mit foreach remaining key auch wenn es nicht so aussieht
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ich muss mal als Noob eine, womöglich dumme, Idee in den Raum werfen:
Wenn ich dieses Json file mal rein als Text betrachte bzw. als string oder etwas dergleichen, dann ist ja offensichtlich dass der Variabelnname immer vor eine ": steht und der zugehörige Variabelnwert direkt dahinter (wobei da noch ein leerzeichen ist).

Könnte man es rein rehcnerishc nicht im Sinne einer Textsuche einfach rausfiltern, was die Vriabelnnamen und zugehörigen -werte sind?
Jein, wenn man so anfängt landet man am Ende doch bei einem vollwertigen Json-Parser, und hat im Endeffekt all das zusätzlich gemacht, was es schon fertig gibt.
 
B

berndoa

Bekanntes Mitglied
Jein, wenn man so anfängt landet man am Ende doch bei einem vollwertigen Json-Parser, und hat im Endeffekt all das zusätzlich gemacht, was es schon fertig gibt.
War nur ne dumme Idee meinerseits, ich habe von Jsonfiles an sich kene Ahnung. War nur ein naheliegender primitiver Gedanke.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Mehrfacheingabe auf bestimmte Parameter prüfen Java Basics - Anfänger-Themen 8
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
B Von Array nur eine bestimmte Anzahl bekommen Java Basics - Anfänger-Themen 3
J Datei auslesen (nur bestimmte Stellen) Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
B Denkanstoß benötigt: Emails an bestimmte Emailadresse schicken Java Basics - Anfänger-Themen 6
L String auf bestimmte zeichen untersuchen Java Basics - Anfänger-Themen 9
L Bestimmte Werte eines Arrays ausgeben. Java Basics - Anfänger-Themen 3
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
Henri Bestimmte Werte eine XML-Datei ausgeben. Java Basics - Anfänger-Themen 8
M ComboBox bestimmte Elemente disablen/ausgrauen Java Basics - Anfänger-Themen 3
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
E Datei einlesen und bestimmte Wörter ausgeben Java Basics - Anfänger-Themen 2
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
D Input/Output Buchstaben als bestimmte Zahl erkennen Java Basics - Anfänger-Themen 4
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
K Eine bestimmte Zeit, eine Schleife laufen lassen. Java Basics - Anfänger-Themen 4
A CSV datei eine Bestimmte Zeile ansprechen Java Basics - Anfänger-Themen 1
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
C Array kopieren und nur bestimmte Werte speichern Java Basics - Anfänger-Themen 6
D Bestimmte Werte von Objekten aus einer ArrayList in eine andere ArrayList kopieren Java Basics - Anfänger-Themen 14
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
Ananaskirsche Input/Output Bestimmte Zeile aus Datei einlesen Java Basics - Anfänger-Themen 4
B Best Practice Bestimmte Zahl auslesen und in Variable speichern Java Basics - Anfänger-Themen 3
N Bestimmte Zeile aus einer Datei auslesen Java Basics - Anfänger-Themen 10
I Int Array, Zahl an bestimmte position setzten Java Basics - Anfänger-Themen 2
C [Bukkit Plugin] Blöcke eine bestimmte route entlang fliegen Java Basics - Anfänger-Themen 3
A Button in eine bestimmte Spalte platzieren Java Basics - Anfänger-Themen 4
D Bestimmte Zeile aus TXT Datei ausgeben Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
M Bestimmte Zeichen auslesen Java Basics - Anfänger-Themen 2
D bestimmte dateiendungen in jtree rausfiltern Java Basics - Anfänger-Themen 7
W bestimmte Objekte in ArrayList auslesen Java Basics - Anfänger-Themen 8
G JTextArea: nur bestimmte Zeilen anders formatieren Java Basics - Anfänger-Themen 7
B Input/Output bestimmte Zeilen in .txt Dateinen überschreiben Java Basics - Anfänger-Themen 20
J Bestimmte Anzahl Zeichen aneinander fügen Java Basics - Anfänger-Themen 9
C Bestimmte Informationen von Webseite suchen Java Basics - Anfänger-Themen 13
B Nur bestimmte Klasse ausführen Java Basics - Anfänger-Themen 6
Kenan89 Bestimmte Zeile in txt-Datei ersetzen Java Basics - Anfänger-Themen 4
D BufferedInputStream nur bestimmte Zeichen Java Basics - Anfänger-Themen 11
D Input/Output bestimmte Zeile auslesen Java Basics - Anfänger-Themen 3
B Bestimmte Ziffer Java Basics - Anfänger-Themen 27
B Input/Output In Datei an eine bestimmte Stelle schreiben Java Basics - Anfänger-Themen 37
S Bestimmte Objekte aus Collections anwählen/herausbekommen Java Basics - Anfänger-Themen 8
I Bestimmte Objekte einer Liste hinzufügen Java Basics - Anfänger-Themen 16
R Bestimmte Stellen eines BigInteger Java Basics - Anfänger-Themen 7
S Collections Aus Set<Object> bestimmte Typen entfernen Java Basics - Anfänger-Themen 3
S Bestimmte Methode von unbestimmter Datei Java Basics - Anfänger-Themen 6
V Bestimmte Stellen aus .txt Datei auslesen Java Basics - Anfänger-Themen 11
B bestimmte klammern im string ersetzten Java Basics - Anfänger-Themen 17
Binary.Coder JTable bzw. Tabelle in bestimmte Form überführen Java Basics - Anfänger-Themen 5
B Bestimmte Werte aus einem String entnehmen Java Basics - Anfänger-Themen 3
0 Grafik eine bestimmte Strecke laufen lassen Java Basics - Anfänger-Themen 6
X im Verzeichnissbaum recursiv nur bestimmte Dateien finden Java Basics - Anfänger-Themen 7
M Aus String bestimmte Inhalte auslesen Java Basics - Anfänger-Themen 8
M Reaktion auf bestimmte Zeit Java Basics - Anfänger-Themen 2
2 Bestimmte Anzahl von Bytes lesen und als string ausgeben? Java Basics - Anfänger-Themen 3
N Bestimmte Zeichen aus Strings zählen Java Basics - Anfänger-Themen 11
P Bestimmte Zeilen einer Datei ermitteln ? Java Basics - Anfänger-Themen 30
StrikeTom Bestimmte stelle in string herausfiltern Java Basics - Anfänger-Themen 7
M Float auf bestimmte Nachkommazahl runden Java Basics - Anfänger-Themen 3
E Bild eine bestimmte Anzahl blinken lassen Java Basics - Anfänger-Themen 3
B array bestimmte summe berechnen Java Basics - Anfänger-Themen 4
Luk10 Zufallszahl "ohne" eine bestimmte Zahl(en) Java Basics - Anfänger-Themen 8
S OOP Wie bei Spiel "17+4" eine Karte an bestimmte Position hinzufügen Java Basics - Anfänger-Themen 13
B OOP String auf bestimmte Zeichen abfragen Java Basics - Anfänger-Themen 4
S Bestimmte Elemente einer ArrayList löschen Java Basics - Anfänger-Themen 3
S Double bis bestimmte Nachkommzahl vergleichen (ohne zusätzliche Libs) Java Basics - Anfänger-Themen 12
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
N Text an bestimmte Stelle eines Dokuments schreiben Java Basics - Anfänger-Themen 6
G Bestimmte Zeile aus CSV ausgeben Java Basics - Anfänger-Themen 14
Assassin Nur bestimmte Daten aus txt auslesen... Java Basics - Anfänger-Themen 12
Developer_X Durch int Bestimmte Zeile überschreiben Java Basics - Anfänger-Themen 16
Developer_X Bestimmte Zeile aus TextDocument lesen Java Basics - Anfänger-Themen 2
V Nur bestimmte Werte zulassen Java Basics - Anfänger-Themen 2
M Bestimmte zeile aus .txt einlesen Java Basics - Anfänger-Themen 6
Q Nach Stringvorgabe bestimmte funktionen ausführen Java Basics - Anfänger-Themen 3
G Bestimmte Ebene eines Baumes rekursiv ausgeben Java Basics - Anfänger-Themen 49
I bestimmte Zahlen markieren.helppp. Java Basics - Anfänger-Themen 17
G Bestimmte Position im array auslesen Java Basics - Anfänger-Themen 8
H bestimmte objekte in ArrayList löschen? Java Basics - Anfänger-Themen 7
P Hilfe für JComboBox, bmp einbinden/bestimmte punkte auf bmp Java Basics - Anfänger-Themen 3
M bestimmte Zeichen in String eliminieren Java Basics - Anfänger-Themen 2
T Bestimmte Zeile aus einer .txt-Datei auslesen? Java Basics - Anfänger-Themen 10
S Bestimmte Anzahl an nummern auslesen Java Basics - Anfänger-Themen 4
K bestimmte Dateien aus Ordner verschieben Java Basics - Anfänger-Themen 5
F Bestimmte Werte nicht beachten Java Basics - Anfänger-Themen 10
G bestimmte Stelle aus Textdatei auslesen. Java Basics - Anfänger-Themen 7
C bestimmte Buchstaben in einem String ändern Java Basics - Anfänger-Themen 5
M if bestimmte Exception, dann. Java Basics - Anfänger-Themen 11
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
N bestimmte Elemente eines Stringtokenizers Java Basics - Anfänger-Themen 3
2 JFileChooser- Dateien nur als bestimmte Formate speichern Java Basics - Anfänger-Themen 4
S Wie runden man noch mal auf bestimmte stellen? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen


Oben