json serialisieren Formatierung
Ich versuche serialise eine Sammlung von Objekten mit json.net
Dem Objekt sieht wie folgt aus:
public class TaxBand
{
public TaxBand(string county, decimal taxPercentage)
{
County = county;
Tax = taxPercentage;
}
public string County { get; private set; }
public decimal Tax { get; private set; }
}
und Sie sind enthalten in einer Struktur wie dieser:
var data = new Dictionary<string, List<TaxBand>>();
data = PopulateDataset();
string json = JsonConvert.SerializeObject(data, Formatting.Indented);
Diese produziert json sieht wie folgt aus:
{
"North": [
{
"County": "Merseyside",
"Tax": 5.0
},
{
"County": "Greater Manchester",
"Tax": 6.0
}
],
"South": [
{
"County": "Greater London",
"Tax": 5.5
},
{
"County": "Surry",
"Tax": 6.2
}
]
}
ist es möglich, zu produzieren json sieht wie folgt aus:
{
"North":
{
"Merseyside": 5.0,
"Greater Manchester" : 6.0
},
"South":
{
"Greater London": 5.5,
"Surry": 6.2
}
}
Bin glücklich zu berücksichtigen, die Veränderung der Form der Objekte, oder verwenden in der Tat einen anderen serialisieren Bibliothek
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit der Hilfe von Linq
AUSGABE:
Diese:
sieht für mich vergleichbar mit einem einzelnen Eintrag in einer
Dictionary
und man kann einige Kilometer vom Experimentieren in dieser Art und Weise.Jedoch das Beispiel JSON sieht ganz vernünftig. Gegeben, dass Sie haben Kunden verbrauchen diese hätte ich wahrscheinlich keine sorgen um das serialisieren und würde sicherlich vorsichtig sein, gefährden Sie Ihr Objekt-Modell zum Ausdruck, dass eine gewünschte serialisieren (insbesondere angesichts der Tatsache, dass es sieht legitim und leicht zu analysieren ist). Beachten Sie, dass wenn Sie ändern die serialsiation Ihre Kunden müssen in der Lage sein, zu analysieren, erfolgreich.
Wenn Sie ändern die JSON-Ausgabe, anstatt Kompromisse Ihre Objekt-Modell, würde ich isolieren, das zu ändern - kopieren Sie Ihre
TaxBand
- Objekt in einTaxBandJson
Objekt oder ähnliches.