Standard .NET file access is restricted to prevent rogue access to your files, this means you can not use System.IO.File or variants directly.
Instead Sandbox provides a BaseFileSystem for several virtual filesystems that can only access files within specific game directories.
Key Notes: To pass in a class to 'FileSystem.Data.WriteJson' the variables must be properties. For Example
FileSystem.Mounted is an aggregate filesystem of all mounted content from the core game, the current gamemode and it's dependencies. It is a combination of the following directories:
Any time you try to read a file it will search each of these paths.
This is a place to store user data for your game.
This is a place to store user data across several games in your organization.