Nicht sicher, ob der Titel dem entspricht, was ich eigentlich will, Vorschläge willkommen.Erstellen Sie JSON mit Wert als Objekt
ich eine JSON-Datei wie folgt:
{
"Sonos": [
{
"Ips": [
{
"Volume": "5",
"ip": "192.168.10.214"
},
{
"Volume": "5",
"ip": "192.168.10.204"
}
]
}
]
}
Klasse
public class GetConfig
{
public List<Cfg> Sonos { get; set; }
}
public class Cfg
{
public List<Ip> Ips { get; set; }
}
public class Ip
{
public string Volume { get; set; }
public string ip { get; set; }
}
JSON erstellen
var list = new List<Cfg>();
var ips = new List<Ip>();
foreach (ListViewItem item in sonosListExt1.Items)
{
ips.Add(new Ip {Volume = "5", ip = item.Text });
}
list.Add(new Cfg { Ips = ips });
var gC = new GetConfig
{
Sonos = list
};
...
//WRITE TO FILE
Was ich will eigentlich (obwohl, wenn gültig nicht sicher)
{
"Sonos": [
{
"192.168.10.214": [
{
"Volume": "5"
},
"192.168.10.204": [
{
"Volume": "5"
}
]
}
]}
Ich weiß nicht, wie ich die tatsächliche IP als ein Objekt erstellen kann, dass das Volumen des genannten IP enthält. Oder brauche ich vielleicht einen anderen Ansatz?
Was will ich mit IPs, Schleife durch diese Liste und will
Ich habe eine Liste tun, um die Lautstärke der config.json
-Datei zu erhalten, gibt es vielleicht einen besseren Weg?
Wie wäre es mit einer 'List>' inset von 'List ' in 'Cfg 'Klasse? –
Developer
Was ist das Endziel? Sie möchten das angegebene Volumen pro IP überprüfen und Code dafür schreiben oder das Format von jSON korrigieren? – A3006
Ihr gewünschter JSON ist ungültig. Laden Sie http://jsonlint.com/ hoch und Sie sehen den Fehler 'Fehler: Parse Fehler in Zeile 6:'. Wenn Sie die IP-Adresse dem JSON-Eigenschaftsnamen zuordnen möchten, sollten Sie im Allgemeinen ein Wörterbuch mit der IP-Adresse als Schlüssel verwenden. Siehe z.B. [Deserialisieren verschachtelter JSON in C# -Objekte] (https://StackOverflow.com/questions/38793151/deserialize-nested-json-into-c-sharp-objects). – dbc