I am following a Godot 3 tutorial, and I had to update many of the lines for my current stable version. While I was able to update some lines of codes, whenever I run the game – I get an error Attempt to call function ‘get_as_text’ in base ‘null instance’ on a null instance. How do i fix it?
Here is a code snippet of the code:
func _load_json(name: String) -> Dictionary:
var json = JSON.new()
var file = FileAccess.open("res://", FileAccess.READ)
var content = file.get_as_text()
if not content.error == OK:
return {}
file.close()
return content.result
"res://" is not a valid file path, it’s actually a folder. You should specify a valid full path to a file from your project, something like res://my_file.txt.
Since your path is invalid, the open method does not return anything, explaining why file is null.
Also, if you have other issues with FileAccess.open, you can also use the get_open_error method to debug what went wrong in your code.
Thank you. I fixed the file path so it is now valid. I used the get_open_error method and the warning in the console printed JSON_parser.gd:25 @ _load_json(): Couldn’t open file because: File not found.