2011-02-16 18 views
6

WCF Rest'ten web'deki bazı servislerimizi MVC3'e dönüştürme aşamasındayım. [WebGet(.... ResponseFormat=WebMessageFormat.Json]JsonResult u0027 olarak özel karakterleri ayrıştırma (kesme işareti)

benim denetleyicisi ben dönüş türü olarak bir JsonResult kullanarak ve Json(someObject, ...) ile json kuruyorum basit poco geri dönmek için:

Bizim eski web hizmetleri kullanarak Poco Sadece ince dan JSON döndü.

WCF Rest hizmetinde, istemciye sunulduğunda kesme işaretleri ve özel karakterler temiz biçimde biçimlendirilir.

MVC3 denetleyicisinde, kesme işaretleri \ u0027 olarak görünür.

Herhangi bir düşünce? JSON'u serileştirmek için yeni biriyim, böylece herhangi bir işaretçi büyük bir yardım olur.

örnek yanıt: wcf Dinlenme: {"CategoryId":8,"SomeId":6,"Name":"Richie's House"}

MVC3: {"CategoryId":8,"SomeId":6,"Name":"Richie\u0027s House"}

cevap

8

iki temsiller eşdeğer olarak, herhangi bir sorun olmayacaktır:

var a = {"CategoryId":8,"SomeId":6,"Name":"Richie\u0027s House"}; 
alert(a.Name); 

uyarılar Richie's House.

+3

Oh ... benim ... Tanrım ... Masaüstümdeki tarayıcı eklentisi sadece okunabilir hale getirmek için biçimlendiriyordu ... grrrr Daha fazla kahveye ihtiyacım var. Zamanını boşa harcadığım için üzgünüm. – Richard

1

Hemen yapın: gibi

yourObject.Name = yourObject.Name.Replace("'", "\\u027"); 

Yani, bir tarayıcıda javascript veya gösterisinde uyarmak için çalışırsanız, o olacak görünür ')

Bu nedenle, Unicode'da özel karakterler döndürülür, ancak sayfada işlendiğinde düzgün görünecektir.

1

U+0027 kesme işareti için Unicode (olan

Richie'nin House:

İlgili konular