jsonreaderexception unerwartete Zeichen aufgetreten
Ich habe ein web-Projekt mit Winkel-und C#.
In einem C# - controller, die ich Lesen möchte in den Inhalt einer lokalen json-Datei, die zum testen verwendet wird.
Dies ist der code, dass ich zum Lesen der JSON aus meinem Arbeitsverzeichnis.
string path = HttpContext.Current.Server.MapPath("~/testing/testData.json");
JObject jsonData = JObject.Parse(path);
string jsonString = jsonData.ToString();
List<orResult> result = JsonConvert.DeserializeObject<List<orResult>>(jsonString);
return result;
JSON können hier gesehen werden. Json
Wenn ich die app starte, bekomme ich die folgende Fehlermeldung.
Eine Ausnahme des Typs " Newtonsoft.Json.JsonReaderException' ist in
Newtonsoft.Json.dll wurde aber nicht behandelt werden, in Benutzer-codeZusätzliche Informationen: Unexpected character encountered while parsing
Wert: M. Path ", line 0, position 0.
Wenn ich hover Blick auf die path-variable verweist es auf die richtige Stelle. Wenn ich kopieren und fügen Sie den path-variable in meinem browser sehe ich die JSON. Der Fehler ist irgendwas mit dem Parsen der Daten oder so etwas... ich habe keine Ahnung. Brauche Hilfe!!!
Ist, habe ich mich bei anderen Lösungen, die auf Stapel-und keiner von Ihnen gelöst mein problem.
InformationsquelleAutor Frantumn | 2015-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
JObject.Parse()
erwartet, dass die eigentlichen JSON-Inhalt (string), nicht ein Weg.Ihre JSON-ist wirklich ein array so könnten Sie
JArray.Parse()
statt. Auch das konvertieren der JSON-string zuJObject
und dann zurückToString()
ist wirklich nicht das hinzufügen der "Wert" hier.Dies sollte es tun.
JToken.ReadFrom()
kann man Strom direkt aus der Datei, ohne zu laden, ein Zwischenprodukt string-Darstellung.Das funktionierte perfekt. Danke.
InformationsquelleAutor Mikko Viitala
Du versuchen, die Daten zu Deserialisieren, die übersetzt Pfad ("c:\whatever\...\testing\testData.json") dass MapPath gibt, also nicht die Inhalt der Datei.
Probieren Sie etwas wie dies:
... aber dann wieder, gibt es keine Notwendigkeit zu verwenden
Parse()
wie Sie nicht brauchen, dieJObject
. Nur Deserialisieren direkt zu einemList<orResult>
:InformationsquelleAutor Micke