Unexpected character encountered while parsing-Wert, JSON-Objekt

Habe ich ein JSON-Objekt, das aussieht wie dieses:

"field2_body":null,"field3_body":null,"field4_body":null,"h_phrases":[{"h_phrase":"H222"},{"h_phrase":"H411"},{"h_phrase":"H361"},{"h_phrase":"H315"}]

Dies ist aber nur ein Teil des JSON-Objekts, da es sehr groß ist.

Was ich will zu tun ist, um die h_phrase string-Werte, aber wenn ich versuche, ich bekomme diese Fehlermeldung:

FEHLER Unexpected character encountered while parsing-Wert: {. Pfad '[0].h_phrases', Zeile 64, position 7.

Und das ist mein code:

public class PhrasesData
{ 
[JsonProperty(PropertyName = "h_phrases")]
public string H_Phrases { get; set; }
}
public async void getPhrasesForSpecificProduct(string productId)
{
var baseUrl = "http://www.kemtest.com/rest/organisations";
var specProductUrl = baseUrl + "/" + activeOrganisationId + "/" + "products/" + productId;
try
{
var baseAddress = new Uri(specProductUrl);
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
validToken = System.Net.WebUtility.UrlEncode(validToken);
cookieContainer.Add(baseAddress, new Cookie("access_token", string.Format(validToken)));
var result = client.GetAsync(specProductUrl).Result;
result.EnsureSuccessStatusCode();
if (result.IsSuccessStatusCode)
{ 
var content = await result.Content.ReadAsStringAsync();
var array = JArray.Parse(content);
PhrasesData[] myPhrasesData = JsonConvert.DeserializeObject<PhrasesData[]>(array.ToString());
if (myPhrasesData == null)
throw new JsonException();
string[] H_PhrasesArr = new string[myPhrasesData.Length];
for (int i = 0; i < myPhrasesData.Length; i++)
{
H_PhrasesArr[i] = myPhrasesData[i].H_Phrases;
var H_PhrasesVar = H_PhrasesArr[i];
Debug.WriteLine("God Damn PHRASES: " + H_PhrasesVar);
}
}
}
}catch (Exception ex) { Debug.WriteLine(@"              ERROR {0}", ex.Message); }
}

Was ist das problem mit meinem code?

  • Nun, ich könnte nicht in der Lage dir die Antwort geben, aber warum versuchst du nicht zu Deserialisieren Sie die Zeichenfolge mit jedem online-tool zuerst ?
  • Versuchen Sie Ihre Json-string auf einen online-validator wie http://pro.jsonlint.com und sehen, ob es gültig ist.
  • Hey es, Dank für die Beantwortung meiner post Jungs! Ich Tat fügen Sie meine JSON-Objekt im pro.jsonlint.com und es war gültig. Ich habe versucht, andere Methoden in meinem code, aber ich noch nicht geschafft...Wenn Sie wollen kann ich nach den ganzen JSON-Objekt?
  • Ich habe das gelöst, Jungs, wenn u wollen wissen, wie ich es gelöst es mir nur sagen und ich poste es:)
  • kann ich bitte wie hast du es lösen, denn ich habe das gleiche Problem. Dank
Schreibe einen Kommentar