Сериализация 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д