2016-06-30 22 views
-1

Ich habe es mit http://jsonlint.com/ validiert, und es ist eine gültige JSON-Zeichenfolge. Allerdings kann ich dies nicht mit Newtonsoft Json in CSharp analysieren. Ich verwende Newtonsoft V9.0.1.Wie kann ich diese JSON-Zeichenfolge analysieren?

[{ 
    "Test": { 
     "ID": "Test1", 
     "Name": "Name1" 
    } 
}, { 
    "Test": { 
     "ID": "Test2", 
     "Name": "Name2" 
    } 
}] 

Die Ausnahme zurückgegeben wird: "Unexpected Charakter auf beim Parsen Wert: Path. '', Zeile 0, Position 0"

+2

* Ich kann dies nicht mit Newtonsoft Json in CSharp * analysieren. Was hast du versucht, das hat nicht funktioniert? Kannst du ein [mcve] für dein Problem geben? – dbc

+2

Was meinst du damit, du kannst das nicht analysieren? Könnten Sie bitte mehr Details und vielleicht auch etwas Code zur Verfügung stellen? –

+0

Der Code ist hier, wenn Sie darauf bestehen JsonConvert.DeserializeObject (".... die Zeichenfolge geht hier ..."); –

Antwort

-1

Zuerst fügen Sie die Newtonsoft json mit Nuget Package Manager

public class Wrapper 
{ 
    public List<Test> test { get; set; } 
} 
class Test 
{ 
    public string ID; 
    public string Name; 
} 

Sie können eine Klasse implementieren, die die Felder, die Sie in Ihrem JSON haben hält

und dann die generische Version von DeserializeObject verwenden:

List<Wrapper> tmp = JsonConvert.DeserializeObject<List<Wrapper>(jsonstring); 
+2

Das wird nicht funktionieren. Der äußerste JSON-Container ist ein Array, kein Objekt. – dbc

+0

Das Ändern des Typs in dem generischen in einem Array oder einer Liste ist eine einfache Lösung für den – Sidewinder94

+0

-Typ erfordert ein JSON-Objekt (z. B. {"name": "Wert"}), um korrekt zu deserialisieren. –

Verwandte Themen