Gibt es eine Möglichkeit, Konfigurationsabschnitte in JSON anstelle von XML zu schreiben?Erstellen eines JSON-Konfigurationsabschnitts
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; }
}
}
dann kann ich den folgenden XML-Konfigurationsabschnitt erstellen:
<users-config>
<users>
<user name="Matt458" />
<user name="JohnLennon" />
</users>
</users-config>
Was würde ich erreichen will ist die gleiche UsersConfig Klasse mantain, aber anstatt es auf XML abzubilden, möchte ich es einem JSON zuordnen:
{
"users": [
{
"name": "Matt458"
},
{
"name": "JohnLennon"
}
]
}
Es ist möglich, die 'SerializeSection'- und' DeserializeSection' -Überschreibungen von der 'ConfigurationSection'-Klasse zu verwenden. Sie können ein CDATA-Element im Element "Users" verwenden, um beliebige Daten zu speichern und sie dann während der benutzerdefinierten Serialisierung/Deserialisierung auszulesen. –
Haben Sie die folgende [Bibliothek] (http://west-wind.com/westwind.applicationconfiguration/) versucht? Es enthält 'Storage to .config-Dateien, einfache XML- oder JSON-Dateien, Strings oder eine Datenbank ', so dass es sich lohnt, einen Blick darauf zu werfen. –
Meinst du web.config? –