Json auslesen

MrKavatch

Mitglied
Hey,
ich wollte mal kurz fragen wie es den möglich ist von einer Json datei die daten auszulesen.
Als beispiel ich habe diese Datei :
Code:
[{"map":{"infos":{"name":"Wald","version":"1.0","authores":"MrKavatch / MisterQuatsch"},"teams":{"gelb":{"spawn":{"x":"-40","y":"81","z":"-208"},"protection":{"center":{"x":"-16","z":"-213"},"radius":"35"}},"grün":{"spawn":{"x":"266","y":"64","z":"-510"},"protection":{"center":{"x":"264","z":"-495"},"radius":"30"}}},"kit":{"slot":{"slot1":{"item":"WOOD_SWORD","ammount":"1","meta":"0"},"slot2":{"item":"STONE_PICKAXE","ammount":"1","meta":"0"},"slot3":{"item":"APPLE","ammount":"16","meta":"0"},"slot4":{"item":"LOG","ammount":"32","meta":"0"},"slot5":{"item":"AIR","ammount":"1","meta":"0"},"slot6":{"item":"AIR","ammount":"1","meta":"0"},"slot7":{"item":"AIR","ammount":"1","meta":"0"},"slot8":{"item":"AIR","ammount":"1","meta":"0"},"slot9":{"item":"AIR","ammount":"1","meta":"0"},"helmet":{"item":"AIR","ammount":"1","meta":"0"},"chestplate":{"item":"LEATHER_CHESTPLATE","ammount":"1","meta":"0"},"leggings":{"item":"LEATHER_LEGGINGS","ammount":"1","meta":"0"},"boots":{"item":"LEATHER_BOOTS","ammount":"1","meta":"0"}},"extras":{"effects":{"effect1":{"type":"DAMAGE_RESISTANCE","lenght":"25","strength":"200"},"effect2":{"type":"BLINDNESS","lenght":"2","strength":"10"},"effect3":{"type":"SATURATION","lenght":"100","strength":"10"}}}},"filer":{"blocks":{"noPlace":{"errorMsg":"§cDu darfst diesen Block nicht Setzen!"},"noBreak":{"errorMsg":"§cDu darfst diesen Block nicht Zerstören!"}}}}}]
Wie könnte ich dabei jetzt zb die versions nummer abrufen?

// Edit soweit hab ich es schon:
Code:
public class Json {
    private final static JSONParser jsonParser = new JSONParser();
    static JSONArray array;
    public static void main(String[] args) throws IOException, ParseException {
        URL oracle = new URL("http://www.greev.eu/Json/map");
        BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            array = (JSONArray) jsonParser.parse(inputLine);
           
            System.out.println(inputLine);
        }
        in.close();

            JSONObject jsonProfile = (JSONObject) array.get(0);;
            String name = (String) jsonProfile.get("version");
            System.out.println("NAME >>> " + name);
    }
}
 

JCODA

Top Contributor
Du könntest erwähnen, welchen JSONParser Du verwendet.
Und was Dein Problem ist. (Welche Ausgabe erwartest Du, und was wird ausgegeben?)
Zudem könntest Du kompilierbaren Code zur Verfügung stellen. (inkl. imports...)

Das alles erhöht Deine Chance eine gute und schnelle Antwort zu bekommen.
 

MrKavatch

Mitglied
Ok der Komplette Code:
Code:
package main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class Json {
    private final static JSONParser jsonParser = new JSONParser();
    static JSONArray array;
    public static void main(String[] args) throws IOException, ParseException {
        URL oracle = new URL("http://www.greev.eu/Json/map");
        BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            array = (JSONArray) jsonParser.parse(inputLine);
           
            System.out.println(inputLine);
        }
        in.close();

            JSONObject jsonProfile = (JSONObject) array.get(0);;
            String name = (String) jsonProfile.get("version");
            System.out.println("NAME >>> " + name);
    }
}
Parser: Json-Simple
Und es soll mir einfach die 'Version' von dem Json code der oben schon steht ausgeben.
Was aber ausgegebn wird ist 'null'
 

JCODA

Top Contributor
Dein JSON-Objekt ist verschachtelt. Die Versionsnummer ist ja Bestandteil von "infos", dieses ist wieder Bestandteil von "map". Bei mir klappt's so:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class Json {
    private final static JSONParser jsonParser = new JSONParser();
    static JSONArray array;
    public static void main(String[] args) throws IOException, ParseException {
        URL oracle = new URL("http://www.greev.eu/Json/map");
        BufferedReader in = new BufferedReader(new InputStreamReader(
                oracle.openStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            array = (JSONArray) jsonParser.parse(inputLine);
            System.out.println(inputLine);
        }
        in.close();

        JSONObject jsonProfile = (JSONObject) array.get(0);

        JSONObject map = (JSONObject) jsonProfile.get("map");
        JSONObject infos = (JSONObject) map.get("infos");
        String versionID = (String) infos.get("version");
       
        System.out.println("versionID >>> " + versionID);
    }
}
 

MrKavatch

Mitglied
Dein JSON-Objekt ist verschachtelt. Die Versionsnummer ist ja Bestandteil von "infos", dieses ist wieder Bestandteil von "map". Bei mir klappt's so:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class Json {
    private final static JSONParser jsonParser = new JSONParser();
    static JSONArray array;
    public static void main(String[] args) throws IOException, ParseException {
        URL oracle = new URL("http://www.greev.eu/Json/map");
        BufferedReader in = new BufferedReader(new InputStreamReader(
                oracle.openStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            array = (JSONArray) jsonParser.parse(inputLine);
            System.out.println(inputLine);
        }
        in.close();

        JSONObject jsonProfile = (JSONObject) array.get(0);

        JSONObject map = (JSONObject) jsonProfile.get("map");
        JSONObject infos = (JSONObject) map.get("infos");
        String versionID = (String) infos.get("version");
      
        System.out.println("versionID >>> " + versionID);
    }
}
Vielen danke schonmal dafür! Ich denke mal das es so funktionieren könnt, aber gibt es vlt sogar einen kürzere version als das? Ich meine das ist ja schon etwas länge.
Also ich meine sowas wie
Code:
jsonProfile.get("map.infos.version");
vlt kennst du da ja was. Es kann natürlich auch sein das ich damit total falsch bin ^^
Mfg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JSON auslesen und Labels in GUI verwenden XML & JSON 13
M json page 2 auslesen XML & JSON 1
B Json Objekt sinnvoll plätten? XML & JSON 1
W com.android.volley.ParseError: org.json.JSONException: End of input at character 0 of XML & JSON 6
mananana Frage zu JSON XML & JSON 3
wofus JSON filtern nach bestimmten Wert XML & JSON 7
N JSON export String Unicode? XML & JSON 6
L Json reader XML & JSON 15
megusta JSON umschreiben (converter)? XML & JSON 4
P verschachteltes json verändern XML & JSON 3
Avalon JSON flatten und wieder in DTO konvertieren XML & JSON 21
M Objekt zu jsonArray in .json datei hinzufügen ? XML & JSON 3
Z json inkl. Array/Verschachtelung erstellen XML & JSON 2
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
Trèfle Formatierung v. JSON File XML & JSON 7
K JSON mit GSON nutzen XML & JSON 4
S Java REST Client + Json XML & JSON 8
W Search Value in Json XML & JSON 6
K JSON-Bibliothek XML & JSON 5
M Großes Json Objekt benutzen XML & JSON 5
M Xml oder Json? XML & JSON 15
J JSON zu Java mit der GSON Google API XML & JSON 0
G Jackson JSON: Dynamische Serialisierung XML & JSON 6
W Json von URL Lesen (mit Gson Library) XML & JSON 3
W Json von URL Lesen XML & JSON 2
L Jackson JSON: Probleme beim einlesen XML & JSON 1
J JSon-Converter gesucht XML & JSON 2
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
J JSon <-> XML zwecks Validierung XML & JSON 4
M [JSON] Wie Splitten? XML & JSON 14
G Mit JSON Java und C# verbinden XML & JSON 4
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
Kanda Sorata Eingabefelder von Excel Dateien auslesen XML & JSON 1
K XML vernünftig auslesen XML & JSON 9
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
H SOAPBody auslesen XML & JSON 0
B XML auslesen, benötige Hilfe XML & JSON 13
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
W XML einlesen und Attribute auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
K XML Auslesen, wie abspeichern? XML & JSON 32
D Attribute aus XML Auslesen XML & JSON 5
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
R Apache POI: Gezieltes Auslesen von Zellen XML & JSON 2
S XMl auslesen:@ output ? XML & JSON 1
Z Verschachtelte XML auslesen XML & JSON 3
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
I XML IDs auslesen, erst X dann Y XML & JSON 2
S XML - rekursives auslesen - Zeilenumbruch als NodeValue? XML & JSON 3
O XML richtig auslesen XML & JSON 7
Kenan89 XML Tag-ID auslesen mit getElementById XML & JSON 2
J Excel zeilenweise auslesen - POI XML & JSON 5
J Excel Zellen auslesen - automatischer Stopp bei leerer Zelle XML & JSON 2
I XPath Namensräume und auslesen einzelner Knoten XML & JSON 3
S SVG auslesen und darstellen XML & JSON 5
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
G xpath: Inhalt eines Kindelements auslesen XML & JSON 2
1 Html tabelle auslesen??? XML & JSON 6
JanUlrich Tabelle auslesen XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
J Anzahl der Elemente in einem XML-Dokument auslesen XML & JSON 7
K XMl auslesen XML & JSON 19
P Poi /XSSF : Excel-Tabelle auslesen XML & JSON 2
S XSD-Datei zulässige Werte auslesen XML & JSON 3
D rss auslesen XML & JSON 2
S Attribute von Elementen auslesen mit XPath XML & JSON 2
M Große Datei auslesen/in dieser suchen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
J Dateinamen beim Start auslesen XML & JSON 8
eQuest XML Jaxen Attribute auslesen XML & JSON 2
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
P jdom XML-Encoding auslesen XML & JSON 12
H XML Attribute auslesen XML & JSON 5
Nicer Bestimmten Wert aus einer XML Auslesen XML & JSON 34
L XML Daten auslesen und in Tabelle (Array) speichern XML & JSON 1
L XML Dokument auslesen funktioniert nicht richtig XML & JSON 2
C Attributwert aus XML auslesen XML & JSON 10
H XML String auslesen XML & JSON 4
E XML Knoten mit rekursiver Methode auslesen XML & JSON 3
S Dom Baum auslesen XML & JSON 12
J Properties auslesen (Jar) XML & JSON 1
S auslesen XML & JSON 9
Z XML auslesen, Elemente daraus entfernen und als neue XML zurückgeben XML & JSON 2
M XMI-Datei auslesen XML & JSON 4
T EXSD auslesen mit XPath und JDOM XML & JSON 8
M XML-Datum als Referenz auf Objekt-Variable auslesen XML & JSON 5
Spot84 xmi auslesen XML & JSON 20
G Welche Klassen zum erzeugen/auslesen eines XML Files verwend XML & JSON 9
G Xml File schematisch auslesen XML & JSON 2
P NullPointerException beim Auslesen XML & JSON 8
N XML-String in MIDP auslesen XML & JSON 3
H mit JDOM Verarbeitungsanweisungen und Kommentare auslesen XML & JSON 2
K XML auslesen (simpel) XML & JSON 10
X XML File auslesen/parsen u. in ne Hashmap speichern XML & JSON 2
HeRaider Definitionen auslesen und Encoding XML & JSON 3
A SVG Datei auslesen und Batik XML & JSON 1
M XML werte auslesen ! XML & JSON 3
M XML File während Applet-Start auslesen? XML & JSON 10

Ähnliche Java Themen

Neue Themen


Oben