2016-08-01 15 views
-1

Ich habe einen JSON, das wie folgt aussieht:Wie wird eine Mehrfachliste von Elementen in Json serialisiert?

{ 
    "Identifier1":"TextOfIdentifier1", 
    "Identifier2":"TextOfIdentifier2", 
    "Identifier3":"TextOfIdentifier3", 
    ... 
} 

Ich weiß, wie ein JSON in ein benutzerdefiniertes Objekt deseralize, folgte ich, was here sagt, aber alle Identifikatoren erscheinen in dem gleichen Tag JSON ...

Wie kann ich alle Bezeichner innerhalb des JSON erhalten?

+0

Die erste Option in verknüpften Antwort ist [ "LINQ to JSON"] (http://www.newtonsoft.com/json/help/html/QueryingLINQtoJSON. htm). – Sinatr

+0

Nicht klar, was Ihr Problem ist. Was meinst du, wenn du im selben JSON-Tag sagst? In Ihrem Beispiel haben Sie verschiedene Eigenschaftsnamen –

+0

Aber es versucht, ein benutzerdefiniertes Objekt zu deseralisieren ... Die Sache ist, dass mein Json alle Bezeichner in der gleichen json hat ... – Sonhja

Antwort

0

Sie können JSON (ähnlich XDocument) durchqueren:

var json = "{\"Identifier1\":\"TextOfIdentifier1\",\"Identifier2\":\"TextOfIdentifier2\",\"Identifier3\":\"TextOfIdentifier3\"}"; 
foreach (var token in JObject.Parse(json).Children()) 
    Console.WriteLine(token.Path); 

Ergebnis:

Identifier1

bezeichner2

Identifier3

+0

Ich möchte beide Teile ... nicht nur die Kennung: P – Sonhja

1

Die Lösung ist wie dies in meinem Fall:

using (StreamReader r = new StreamReader(path)) 
{ 
    string json = r.ReadToEnd(); 
    JObject jsonLines = JObject.Parse(json); 
    foreach (var token in jsonLines) 
    { 
     dtos.Add(new TokenDto { HalId = token.Key, SourceText = token.Value.ToString() }); 
    } 
} 
Verwandte Themen