Właściwy sposób obsługi znaku ampersand w łańcuchu JSON wysyłanym do usługi WWW REST

DOBRZE,

UżywamSystem.Runtime.Serialization iDataContractJsonSerialization.

Problem polega na tym, że we wniosku wysyłam wartość nieruchomości za pomocą& postać. Mówić,AT&Ti otrzymuję odpowiedź z błędem:Invalid JSON Data.

Pomyślałem, że ucieczka zostanie wykonana wewnątrz biblioteki, ale teraz widzę, że serializacja pozostała nietknięta w ampersand& postać.

Tak, dla formatu JSON jest to ważne. Ale będzie to problem z moim żądaniem POST, ponieważ muszę wysłać to do serwera, który zawiera ampersand i odpowie z błędem, stąd jestem.

HttpUtility.HtmlEncode jest wSystem.Web biblioteka i tak dalejUri.EscapeUriString. Zrobiłem to, aby spróbować, ale w każdym razie i bez tego wszystkie żądania działają poprawnie, z wyjątkiem ampersandu w wartości.

EDYTOWAĆ:HttpUtility klasa jest przenoszona do zestawu Windows Phone SDK, ale preferowany sposób kodowania łańcucha powinien być nieruchomyUri.EscapeUriString.

Pierwszą myślą było zabrudzenie rąk i rozpoczęcie zastępowania specjalnego znaku, który powodowałby problem na serwerze, ale zastanawiam się, czy jest inne rozwiązanie, które powinienem zrobić, żeby było wydajne i „właściwe”?

Powinienem powiedzieć, że używam

// Convert the string into a byte array.
byte[] postBytes = Encoding.UTF8.GetBytes(data);

Aby przekonwertować JSON na abyte[] i napisz doStream. I,

request.ContentType = "application/x-www-form-urlencoded";

JakoWebRequest.ContentType.

Więc jestem zawalony z jakiegoś powodu lub czegoś, za czym tęsknię?

Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion