Trying to load a Json string from a variable as index

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By LuanHimmlisch

I’m very new at Godot and GD Script and i’m trying to do a Point and Click game.

This is my dialog system, when you collide with an object the object call the function with a string parameter.

var file = File.new()
var escene = "001_your_room"

func _on_chat(chat):
	file.open("res://escenes/"+escene+".json",File.READ)
	var json_str = file.get_as_text()
	var game_data = parse_json(json_str)
	print(game_data[chat])

print([game_data[chat]) gives the error : Invalid get index ‘“NPC”’ (on base: ‘Dictionary’). But when i put the name of the index manually print([game_data["NPC"]) it works fine.

:bust_in_silhouette: Reply From: omggomb

My guess is that chat is treated as variant and not as string. Try converting it to a string str(chat).