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.