WiFi.begin doesn't work with ArduinoJson's const char* output
I found the solution myself. I switched from using struct Network network = {n["ssid"], n["password"]}; to declare the struct and const char pointers to using char arrays and strcpy

struct Network network;
strcpy(network.ssid, n["ssid"]);
strcpy(network.password, n["password"]);


Seems like the pointers were getting freed or something right at the same time that I tried to use the value to connect to the network?