package load_json import "core:fmt" import "core:encoding/json" import "core:os" main :: proc() { // Load in your json file! data, ok := os.read_entire_file_from_filename("game_settings.json") if !ok { fmt.eprintln("Failed to load the file!") return } defer delete(data) // Free the memory at the end // Parse the json file. json_data, err := json.parse(data) if err != .None { fmt.eprintln("Failed to parse the json file.") fmt.eprintln("Error:", err) return } defer json.destroy_value(json_data) // Access the Root Level Object root := json_data.(json.Object) fmt.println("Root:") fmt.println( "window_width:", root["window_width"], "window_height:", root["window_height"], "window_title:", root["window_title"], ) fmt.println("rendering_api:", root["rendering_api"]) // Store the value. window_width := root["window_width"].(json.Float) fmt.println("window_width:", window_width) fmt.println("") fmt.println("Renderer Settings:") renderer_settings := root["renderer_settings"].(json.Object) fmt.println("msaa:", renderer_settings["msaa"]) fmt.println("depth_testing:", renderer_settings["depth_testing"]) }