Сериализация json в файл - C#
Формулировка задачи:
Доброго времени суток. Возникла проблема. Делаю лаунчер для Minecraft и необходимо реализовать функцию профилей как в оригинальном лаунчере. Оф. лаунчер хранит профили в файле .json. Вот пример этого файла:
Где - "profiles" - место для профилей, а "1.7.2" - имя профиля, а дальше идут параметры этого профиля.
И мне нужно поместить в "profiles"{ // тут профили } свой профиль. Вот сделал сериализацию с помощью Json.NET:
Но данный блок помещается за пределы "profiles" {} и лаунчер его не видит.
Прошу помощи.
{
"profiles": {
"(Default)": {
"name": "(Default)",
"playerUUID": "demo-d5f792e26ff04978b76c2a8f2df351e6"
},
"1.7.2": {
"name": "1.7.2",
"lastVersionId": "1.7.10",
"playerUUID": "demo-d5f792e26ff04978b76c2a8f2df351e6",
"launcherVisibilityOnGameClose": "keep the launcher open"
}
},
"selectedProfile": "1.7.10",
"clientToken": "**********",
"authenticationDatabase": {
"demo-d5f792e26ff04978b76c2a8f2df351e6": {
"accessToken": "**********",
"userid": "**********",
"username": "*******"
}
}
}Dictionary<string, string> points = new Dictionary<string, string>
{
{ "name", "1.7.1" },
{ "lastVersionId", "1.7.10" },
{ "playerUUID", "******" },
{ "launcherVisibilityOnGameClose", "keep the launcher open" },
};
private void setProfile_Click(object sender, EventArgs e)
{
string json = JsonConvert.SerializeObject(points, Formatting.Indented);
FileInfo fl = new FileInfo(@"C:/launcher_profiles.json");
StreamWriter sw;
sw = fl.AppendText();
sw.WriteLine(json);
sw.Close();
}Не по теме:
P.S Голову бы открутить создателю json
Решение задачи: «Сериализация json в файл»
textual
Листинг программы
String json; var jss = new JavaScriptSerializer(); var users = jss.Deserialize<List<User>>(json);