public IDictionary <string, string> GetData(BsonDocument doc) { var json = doc.ToJson(); var o = JsonConfigurationFileParser.Parse(GenerateStreamFromString(json)); return(o); }
public override void Load() { foreach (var setting in JsonConfigurationFileParser.Parse(_source.Content)) { Data[setting.Key] = setting.Value; } }
public async Task <IActionResult> LoadFromAppSettings([FromQuery] bool hardRefresh = false) { if (!_webHostEnvironment.IsDevelopment()) { return(NotFound()); } var fileInfo = _webHostEnvironment.ContentRootFileProvider.GetFileInfo("appsettings.json"); var settingsExist = await _appSettingsDbContext.AppSettings.AnyAsync(); if (settingsExist && !hardRefresh) { return(BadRequest(new ValidationProblemDetails { Detail = "App settings are already loaded in the database." })); } IDictionary <string, string> settings; using (var stream = fileInfo.CreateReadStream()) { settings = JsonConfigurationFileParser.Parse(stream); } if (settingsExist) { await _dbContext.Database.ExecuteSqlRawAsync($"TRUNCATE TABLE [{AppSetting.TableSchema}].[{nameof(AppSetting)}];"); } await _appSettingsDbContext.AppSettings.AddRangeAsync(settings.Select(x => new AppSetting { Key = x.Key, Value = x.Value })); await _dbContext.SaveChangesAsync(); return(NoContent()); }
public override void Load() { var configFiles = new[] { $"{_options.Prefix}.appsettings.json", $"{_options.Prefix}.appsettings.{_environment}.json" }; ////var resources= _options.Assembly.GetManifestResourceNames(); foreach (var configFile in configFiles) { if (_options.Assembly.GetManifestResourceInfo(configFile) != null) { using (var stream = _options.Assembly.GetManifestResourceStream(configFile)) { var kvList = JsonConfigurationFileParser.Parse(stream); foreach (var kv in kvList) { if (Data.ContainsKey(kv.Key)) { Data[kv.Key] = kv.Value; } else { Data.Add(kv.Key, kv.Value); } } } } } }
private void ReadJson(Stream stream, string baseKey) { var newData = JsonConfigurationFileParser.Parse(stream).ToDictionary( kv => $"{baseKey}{ConfigurationPath.KeyDelimiter}{kv.Key}", kv => kv.Value); foreach (var kv in newData) { Data[kv.Key] = kv.Value; } }
internal static IEnumerable <KeyValuePair <string, string> > ConvertToConfig( this MsConfig kvPair, string rootKey) { return(JsonConfigurationFileParser.Parse(kvPair.Value).Select(pair => { string key = $"{kvPair.Key}:{pair.Key}"; return new KeyValuePair <string, string>(key, pair.Value); })); }
public override void Load() { var config = _configJsonProvider.Provide(); if (config != null) { using (var mem = new MemoryStream(config)) { Data = JsonConfigurationFileParser.Parse(mem); } } }
private void LoadData(QueryResult <KVPair> queryResult) { _currentIndex = queryResult.LastIndex; if (queryResult.Response == null || queryResult.Response.Value == null || !queryResult.Response.Value.Any()) { return; } Stream stream = new MemoryStream(queryResult.Response.Value); Data = JsonConfigurationFileParser.Parse(stream); }
public IActionResult PreViewJsonFile() { List <IFormFile> files = Request.Form.Files.ToList(); if (!files.Any()) { return(Json(new { success = false, message = "请上传Json文件" })); } var jsonFile = files.First(); using (var stream = jsonFile.OpenReadStream()) { var dict = JsonConfigurationFileParser.Parse(stream); var addConfigs = new List <Config>(); //judge if json key already in configs foreach (var key in dict.Keys) { var newKey = key; var group = ""; var paths = key.Split(":"); if (paths.Length > 1) { //如果是复杂key,取最后一个为真正的key,其他作为group newKey = paths[paths.Length - 1]; group = string.Join(":", paths.ToList().Take(paths.Length - 1)); } var config = new Config(); config.Key = newKey; config.Description = ""; config.Value = dict[key]; config.Group = group; config.Id = Guid.NewGuid().ToString(); addConfigs.Add(config); } //var result = await _configService.AddRangeAsync(configs); return(Json(new { success = true, data = addConfigs })); } }
private static Dictionary <string, string> DeserializeJson(string text) { if (string.IsNullOrEmpty(text)) { return(new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase)); } using (var stream = new MemoryStream()) { var bytes = Encoding.UTF8.GetBytes(text); stream.Write(bytes, 0, bytes.Length); stream.Position = 0; // might throw FormatException if JSON is malformed. var data = JsonConfigurationFileParser.Parse(stream); return(new Dictionary <string, string>(data, StringComparer.OrdinalIgnoreCase)); } }
/// <summary>Loads the JSON data from a stream.</summary> /// <param name="stream">The stream to read.</param> public override void Load(Stream stream) { try { this.Data = JsonConfigurationFileParser.Parse(stream); } catch (JsonReaderException ex) { var str = string.Empty; if (stream.CanSeek) { stream.Seek(0L, SeekOrigin.Begin); using var streamReader = new StreamReader(stream); var fileContent = ReadLines(streamReader); str = RetrieveErrorContext(ex, fileContent); } throw new FormatException( $"Could not parse the JSON file. Error on line number '{(object) ex.LineNumber}': '{(object) str}'", ex); } }
public override void Load() { string value = Environment.GetEnvironmentVariable(_envVar); if (value == null) { if (_isOptional) { value = "{}"; } else { throw new InvalidOperationException(); } } byte[] bytes = Encoding.UTF8.GetBytes(value); using (var stream = new MemoryStream(bytes)) { Data = JsonConfigurationFileParser.Parse(stream); } }
public Task StartAsync(CancellationToken cancellationToken) { var redisString = _configuration.GetValue <string>("redis:configuration"); var redisConfig = _configuration.GetSection("redis").Get <RedisConfig>(); _configChangeTest.Test(); ConfigContainer.Instance.Change(new ConfigChangeInfo { GroupCode = "common", Key = "redis", Value = "{configuration:\"110.240.225.136\"}" }); _configChangeTest.Test(); redisString = _configuration.GetValue <string>("redis:configuration"); redisConfig = _configuration.GetSection("redis").Get <RedisConfig>(); string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config/appsettings.json"); using (var fs = File.OpenRead(path)) { var data = JsonConfigurationFileParser.Parse(fs); } return(Task.CompletedTask); }