Prvnรญm krokem pลi ลeลกenรญ problรฉmu je zahrnutรญ potลebnรฉ knihovny pro prรกci s daty JSON v Javฤ. K tomu mลฏลพeme pouลพรญt populรกrnรญ Java knihovnu tzv JSON-java, takรฉ znรกmรฝ jako org.json. Nejprve se zmรญnรญme o tom, jak pลidat knihovnu do vaลกeho projektu pลes Maven a Gradle, a potรฉ se ponoลรญme do implementace kรณdu.
<!-- Maven --> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20210307</version> </dependency> <!-- Gradle --> implementation 'org.json:json:20210307'
Dalลกรญ kroky zahrnujรญ implementaci kรณdu Java, kterรฝ ฤte data JSON a pลevรกdรญ je na a JSONObject. K tomu pouลพijeme tลรญdy jako napล FileInputStream si InputStreamReader ฤรญst obsah souboru JSON a potรฉ jej analyzovat pomocรญ JSONTokener si JSONObject tลรญdy.
Prรกce s FileInputStream a InputStreamReader
Java poskytuje FileInputStream tลรญdy ฤรญst data souboru v bajtech, coลพ nรกm umoลพลuje pลรญstup k souboru obsahujรญcรญmu data JSON. Ve spojenรญ pouลพรญvรกme InputStreamReader tลรญdy pro ฤtenรญ datovรฉho toku a jeho pลevod na znaky pro umoลพnฤnรญ zpracovรกnรญ.
import java.io.FileInputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; public class ImportJson { public static void main(String[] args) { // Prepare the FileInputStream try (FileInputStream fis = new FileInputStream("example.json"); InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8)) { // Following code will read the JSON and convert it to JSONObject } catch (Exception e) { e.printStackTrace(); } } }
Analรฝza dat JSON pomocรญ JSONTokener a JSONObject
Jakmile budeme mรญt InputStreamReader objekt pro manipulaci s obsahem naลกeho souboru JSON, mลฏลพeme pak pouลพรญt JSONTokener si JSONObject tลรญdy k analรฝze dat JSON do pouลพitelnรฉho objektu Java. The JSONTokener ฤte data JSON znak po znaku z InputStreamReader a krmรญ ji JSONObject konstruktor k vytvoลenรญ koneฤnรฉho objektu.
import java.io.FileInputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import org.json.JSONObject; import org.json.JSONTokener; public class ImportJson { public static void main(String[] args) { // Prepare the FileInputStream and InputStreamReader try (FileInputStream fis = new FileInputStream("example.json"); InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8)) { // Read JSON data using JSONTokener JSONTokener tokener = new JSONTokener(isr); // Create the JSONObject JSONObject jsonObject = new JSONObject(tokener); // Accessing data in the JSONObject String key = "example_key"; if (jsonObject.has(key)) { System.out.println(jsonObject.get(key)); } } catch (Exception e) { e.printStackTrace(); } } }
Struฤnฤ ลeฤeno, tento ฤlรกnek poskytuje podrobnรฉ vysvฤtlenรญ importu dat JSON a jejich pลevodu do formรกtu a JSONObject v Javฤ. Pomocรญ JSON-java knihovna spolu s tลรญdami Java jako FileInputStream, InputStreamReader, JSONTokener, a JSONObject, mลฏลพete bez problรฉmลฏ analyzovat a manipulovat s daty JSON ve vaลกich aplikacรญch Java, coลพ zlepลกuje SEO i uลพivatelskรฉ prostลedรญ pลi prรกci s tรญmto oblรญbenรฝm formรกtem dat.