私は2つのプログラムを持っています。最初のプログラムはJson.Netを使用してJSONを作成し、JSONを渡して2番目のプログラムを起動します。 2番目のプログラムは、WinFormsのSaveFileDialog
を使用してJSONをファイルに保存します。問題は、JSONの文字列値が適切に保存されていないことです。例えばJSON文字列値が引用符なしで保存されています
私はJSONをデシリアライズし、オブジェクトに変換しようとしているとき、それは
{
"projectName" : "MY_PROJECT_NAME"
}
その後、私はエラーを取得していますしなければならないとき、それは
{
projectName : MY_PROJECT_NAME
}
を保存し、文字列値のみを使用します。ここで
は、ファイルを保存したコードです:
FloorModel grdData = GridData.gridData.gridDataClassList[GetActiveTabIndex()];
//How I get the object does not matter so much
string jsonObj = JsonConvert.SerializeObject(grdData);
print (jsonObj);
Process myProcess = new Process();
myProcess.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "Narnia.exe";
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myProcess.StartInfo.Arguments = jsonObj;
myProcess.Start();
は私が間違って何をやっている:
[STAThread]
static void Main(string[] args)
{
string seriaizedData = args[0];
Stream streamData;
SaveFileDialog savefiledialog = new SaveFileDialog();
savefiledialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/Bamboo Wall";
savefiledialog.Filter = "bamboo files (*.bamboo)|*.bamboo|All files (*.*)|*.*";
savefiledialog.FilterIndex = 1;
savefiledialog.RestoreDirectory = true;
if (savefiledialog.ShowDialog() == DialogResult.OK)
{
if ((streamData = savefiledialog.OpenFile()) != null)
{
byte[] buffer = Encoding.ASCII.GetBytes(seriaizedData);
streamData.Write(buffer, 0, buffer.Length);
streamData.Close();
}
}
}
ここでJSONを作成するコードはありますか?
あなたが任意のシリアル化を行っていない示したコードを受け取るプログラム
送信します。これがJSON.NETの問題であることは非常に疑問です。 [mcve]を入力してください。 –