- #1
Darkmisc
- 203
- 27
- TL;DR Summary
- I've saved two arrays in a JSON file, but can't seem to open them again.
Hi everyone
I've saved two arrays into a JSON file.
This was the code I used:
When I open the file in notepad, this is what I get:
{"arrayA":["France","Spain","UK","Russia"],"arrayB":["Paris","Madrid","London","Moscow"]}
I'm using the following code to load the arrays:
It prints out <null> as the parse_result.
Does anyone know what I've done wrong with the load code?
I used JSON because I read somewhere that that's what I need if I want to save two arrays under the one filename.
Elsewhere, I've used the following code to save one variable to a file:
Thanks
I've saved two arrays into a JSON file.
This was the code I used:
save:
func save():
var file = FileAccess.open("user://savedarrays.json", FileAccess.WRITE)
var file_path = "user://saved_arrays.json"
var data = {
"arrayA": Global.arrayA,
"arrayB": Global.arrayB
}
var json_string: String = JSON.stringify(data)
file.store_string(json_string)
file.close()
print("Arrays saved successfully.")
When I open the file in notepad, this is what I get:
{"arrayA":["France","Spain","UK","Russia"],"arrayB":["Paris","Madrid","London","Moscow"]}
I'm using the following code to load the arrays:
load:
func loadArraysFromFile():
var file = "user://savedarrays.json"
var file_text = FileAccess.get_file_as_string(file)
var parse_result = JSON.parse_string(file_text)
print(parse_result)
if parse_result.error == OK:
var parsed_data: Dictionary = parse_result.result as Dictionary
if parsed_data.has("arrayA"):
Global.arrayC = parsed_data["arrayA"]
print(Global.arrayC)
if parsed_data.has("arrayB"):
Global.arrayD = parsed_data["arrayA"]
print(Global.arrayD)
It prints out <null> as the parse_result.
Does anyone know what I've done wrong with the load code?
I used JSON because I read somewhere that that's what I need if I want to save two arrays under the one filename.
Elsewhere, I've used the following code to save one variable to a file:
save one var:
var file = FileAccess.open(save_path, FileAccess.WRITE)
file.store_var(Global.thing)