Erste Ausnahme beim Zugriff auf den Wert JToken - Nicht Zugriff auf die untergeordneten Wert auf Newtonsoft.Json.Linq -.JValue

Arbeite ich an einem test-Fall zu emulieren meine C# - Methode. Ich bin nicht in der Lage, um den Zugriff auf die Eigenschaft "DocumentID" der JToken mit token["DocumentID"]. Ich bin langsam am System.InvalidOperationException - "kein Zugriff auf Kind Wert auf Newtonsoft.Json.Linq -.JValue".

string response = "[\r\n  \"{ \\\"DocumentID\\\": \\\"fakeGuid1\\\",\\\"documentNotes\\\": \\\"TestNotes1\\\"}\"\r\n]";
//Response has escape charaters as  this is being returned by a mockMethod which is supposed to return JSon.ToString().

string[] fakeGuidForExecutiveSummary = new string[]{"fakeGuid1"};
string fakeResponseFromExecutiveSummaryProxy = "{ \"DocumentID\": \"fakeGuid1\",\"documentNotes\": \"TestNotes1\"}";

JArray jsonResponse = JArray.Parse(response);
//Value of jsonResponse from Debugger - {[  "{ \"DocumentID\": "fakeGuid1\",\"documentNotes\": \"TestNotes1\"}" ]}

JToken token = jsonResponse[0];
//Value of token from Debugger - { "DocumentID": fakeGuid1","documentNotes": "TestNotes1"}
Assert.AreEqual(fakeGuidForExecutiveSummary[0], token["DocumentID"]);
Was ist response? Auch, verwenden Sie nicht fakeResponseFromExecutiveSummaryProxy überhaupt, so was JSON sind Sie eigentlich mit?
Auch, was ist fakeGuidForExecutiveSummary?
Bitte versuchen Sie, erstellen eine Minimale, Vollständige und Überprüfbare Beispiel der code, der veranschaulicht, dein problem. Da du einige Schritte weglassen (wie beim initialisieren fakeGuidForExecutiveSummary) wir können nur erahnen, was das problem ist.
Ich habe gerade Bearbeitete meine Frage. Danke.
fakeGuidForExecutiveSummary gleich die Antwort.

InformationsquelleAutor Santosh K | 2015-03-13

Schreibe einen Kommentar