2013-08-20 16 views
8

Jestem projektowania sieci Web API, która zwraca JSON jako content-type, ciało odpowiedź może zawierać znaki takie jak ', ", < i >, są one ważne postacie w JSON. Tak więc moje pytanie brzmi: czy powinienem kodować HTML dla mojego ciała odpowiedzi Web API, czy powinienem zostawić to zadanie klientowi HTML, który pobiera mój Web API?Mam HTML odpowiedź kodowanie moim Web API

+0

Co jeśli klient nie ma nic wspólnego z HTML? – SLaks

Odpowiedz

9

Nie; nie wolno Ci.

Należy unikać danych tylko wtedy, gdy łączymy je w ustrukturyzowany format.

Jeśli zwrócisz JSON jak { "text": "Content by X &amp; Y" }, każdy, kto odczyta ten JSON, zobaczy literalny tekst &amp;.
Działa to poprawnie tylko w przypadku bardzo zepsutych klientów, którzy łączą się bezpośrednio z ich HTML bez ucieczki.

W skrócie:

Nigdy uciec tekst wyjątkiem sytuacji, gdy masz zamiar go wyświetlić

+0

Witajcie, doceniam waszą jasną odpowiedź! kiedy zadawałem to pytanie, podświadomie miałem wrażenie, że może nie powinienem. Dziękuję za wyjaśnienie tego! – Shuping

0

Jakiej platformy używasz? Na przykład Node.js można użyć polecenia restify, aby dobrze sobie z tym poradzić. Nie musisz jawnie kodować danych. W związku z tym należy znaleźć odprężające ramy lub komponenty, które mogą Ci pomóc.