I am able to convert my nested dictionary to json but in attempting to use Json.Net.JsonNet.Deserialize<SortedDictionary<string, dynamic>>(js) it causes a null reference exception where js is loaded from a file containing: "{"Table":{"RowEntries":{}}}". Not sure what to do from here. 
here is code to those it may concern:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    if (openFileDialog1.FileName != "" && openFileDialog1.FileName.EndsWith(".fdb"))
    {
        defaultPath = openFileDialog1.FileName;
        js = @File.ReadAllText(openFileDialog1.FileName);
        Console.WriteLine(js);
        SortedDictionary<string, dynamic> cd;
        try
        {
            cd = Json.Net.JsonNet.Deserialize<SortedDictionary<string, dynamic>>(js);
            DatabaseFunct.currentData.Concat(cd);
            //load tables
            string[] mainTableKeys = DatabaseFunct.GetMainTableKeys();
            foreach (string mainTableKey in mainTableKeys)
            {
                Program.mainForm.tabControl1.TabPages.Add(mainTableKey, mainTableKey);
            }
            //fileName = openFileDialog1.FileName.Remove(openFileDialog1.FileName.Length-4, openFileDialog1.FileName.Length);
            Program.mainForm.label1.Visible = false;
            //triggers event
            Program.mainForm.tabControl1.SelectedIndex = 0;
        }
        catch(Exception e)
        {
            System.Windows.Forms.MessageBox.Show(e.Message);
        }
    }
    else
    {
        System.Windows.Forms.MessageBox.Show("no valid file selected!");
    }
}
Edit:
Was using the wrong Json.net package instead of the newtonsoft one.
 
    