Erstellen eines JSON-Konfigurationsabschnitts

Ist es ein Weg, um Konfigurations-Abschnitte, geschrieben in JSON statt XML?

Nehmen wir an, ich habe Folgendes ConfigurationSection:

public class UsersConfig : ConfigurationSection {

      [ConfigurationProperty("users",
                             IsRequired = false)]
      public UserCollection Users {
           get { return this["users"] as UserCollection; }
      }
}

[ConfigurationCollection(typeof(UserElement),
     AddItemName = "user"]
public class UsersCollection : ConfigurationElementCollection {
      protected override ConfigurationElement CreateNewElement() {
            return new UserElement();
      }

      protected override object GetElementKey(ConfigurationElement element) {
            return ((UserElement)element).Name;
      }
}

public class UserElement : ConfigurationElement {

     [ConfigurationProperty("name",
                            IsRequired = true,
                            IsKey = true)]
     public string Name {
          get { return this["name"] as string; }
          set { this["name"] = value; }
     }
}

Kann ich dann erstellen Sie die folgende XML-Konfiguration Abschnitt:

<users-config>
      <users>
            <user name="Matt458" />
            <user name="JohnLennon" />
      </users>
</users-config>

Was würde ich erreichen wollen, ist zu mantain die gleichen UsersConfig Klasse, sondern der Zuordnung zu XML, ich möchte, um eine Karte zu einer JSON:

{
    "users": [
        {
            "name": "Matt458"
        },
        {
             "name": "JohnLennon"
        }
    ]
}
Kommentar zu dem Problem
Seine möglich mit der SerializeSection und DeserializeSection überschreibt das ConfigurationSection - Klasse. Sie können ein CDATA-element im Benutzer-element zum halten beliebiger Daten, und dann Lesen Sie es während einer benutzerdefinierten Serialisierung/Deserialisierung. Kommentarautor: Ron Beyer
Haben Sie versucht, die folgenden Bibliothek? Es verfügt über Speicher .config-Dateien, als XML-oder JSON-Dateien, strings oder einer Datenbank so könnte es lohnt sich, einen Blick auf Sie. Kommentarautor: Sébastien Sevrin
Meinst du web.config? Kommentarautor: David C
Ich persönlich habe das Gefühl, dass dies wird über den falschen Weg der Erreichung Ihrer Ziel. Die Absicht des web.config-Datei ist ein standardisiertes Verfahren zur Definition von Konfigurations-Informationen, die Sie verarbeitet ASP.NET IIS und die .NET-Framework. Wenn Sie brauchen, um push der Daten gespeichert .config-Datei an anderer Stelle in einem anderen format haben, dann sollten Sie mit der Serialisierung der Daten nach Bedarf, und nicht versuchen, etwas zu machen, unvereinbar mit der IIS-Verwaltung die MMC-Konsole oder anderen Anwendungen. Kommentarautor: Inari
Warum dies erforderlich ist, XML-und .NET-build-in config-Klassen, die diese Aufgabe perfekt Kommentarautor: ikirachen

InformationsquelleAutor der Frage Matias Cicero | 2015-05-05

Schreibe einen Kommentar