public JObject WriteServer(string name, string address, IEnumerable <string> clientUri, Dictionary <string, string> hashes) { IServer server; var obj = new JObject(); var writer = obj.CreateWriter(); writer.WritePropertyName(nameof(server.Address)); writer.WriteValue(address); writer.WritePropertyName(nameof(server.Name)); writer.WriteValue(name); writer.WritePropertyName(nameof(server.DownloadLink)); _serializer.Serialize(writer, clientUri); if (hashes?.Any() == true) { writer.WritePropertyName(nameof(server.DirHashCheck)); _serializer.Serialize(writer, hashes); } writer.Close(); return(obj); }
public JObject WriteProjectConfig(List <JObject> servers, JObject auth, string link) { IProjectConfig conf; var obj = new JObject(); var writer = obj.CreateWriter(); writer.WritePropertyName(nameof(conf.ProjectSite)); writer.WriteValue(link); if (servers?.Any() == true) { writer.WritePropertyName(nameof(conf.Servers)); writer.WriteStartArray(); foreach (var server in servers) { _serializer.Serialize(writer, server); } writer.WriteEndArray(); } if (auth != null && auth.HasValues) { writer.WritePropertyName(nameof(conf.AuthModuleSettings)); _serializer.Serialize(writer, auth); } writer.Close(); return(obj); }
public void Example() { #region Usage JObject o = new JObject { { "name1", "value1" }, { "name2", "value2" } }; JsonWriter writer = o.CreateWriter(); writer.WritePropertyName("name3"); writer.WriteStartArray(); writer.WriteValue(1); writer.WriteValue(2); writer.WriteEndArray(); Console.WriteLine(o.ToString()); // { // "name1": "value1", // "name2": "value2", // "name3": [ // 1, // 2 // ] // } #endregion }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var type = value.GetType(); var typeName = type.Name; var contract = (JsonObjectContract)serializer.ContractResolver.ResolveContract(type); var resultObj = new JObject { ["@Name"] = typeName }; foreach (var prop in contract.Properties) { var propValue = prop.ValueProvider.GetValue(value); if (propValue != null) { if (prop.Converter != null) { var writer1 = resultObj.CreateWriter(); writer1.WritePropertyName(prop.PropertyName); prop.Converter.WriteJson(writer1, propValue, serializer); } else { resultObj[prop.PropertyName] = JToken.FromObject(propValue, serializer); } } } serializer.Serialize(writer, resultObj); }
public JObject WriteUpdateConfig(string uri, Version version) { IUpdateConfig conf; var obj = new JObject(); var writer = obj.CreateWriter(); writer.WritePropertyName(nameof(conf.ExeUrl)); writer.WriteValue(uri); writer.WritePropertyName(nameof(conf.Version)); writer.WriteValue(version?.ToString()); writer.Close(); return(obj); }
public JObject WriteAuth(string uri, ModuleTypes type, bool strict) { IAuthModuleSettings set; var obj = new JObject(); var writer = obj.CreateWriter(); writer.WritePropertyName(nameof(set.AuthUri)); writer.WriteValue(uri); writer.WritePropertyName(nameof(set.StrictUsage)); writer.WriteValue(strict); writer.WritePropertyName(nameof(set.Type)); _serializer.Serialize(writer, type); writer.Close(); return(obj); }
public JObject WriteSettings(JObject updateSettings, string updateLink, JObject projectSettings, string projLink) { ISettings conf; var obj = new JObject(); var writer = obj.CreateWriter(); writer.WritePropertyName(nameof(conf.ProjectConfigUrl)); writer.WriteValue(projLink); writer.WritePropertyName(nameof(conf.UpdateConfigUrl)); writer.WriteValue(updateLink); writer.WritePropertyName(nameof(conf.ProjectConfig)); _serializer.Serialize(writer, projectSettings); writer.WritePropertyName(nameof(conf.UpdateConfig)); _serializer.Serialize(writer, updateSettings); writer.Close(); return(obj); }