2012-06-20 14 views

cevap

2

basitleştirilmiş bir örnek olarak UTF-8 kullanarak bu gibi bir şey,

public JsonResult Find(string term) 
{ 
    var items = service.Find(term); 
    return Json(items,"application/json; charset=utf-8", JsonRequestBehavior.AllowGet); 
} 
1

Metni UTF-8 kullanarak kodlayın, JSON ve HTTP kodlamasını kullanın. Yeter. HTTP kodlaması, satır sonları ve diğer özel karakterleriniz olduğunda kullanışlıdır.

Standart burada http://www.ietf.org/rfc/rfc4627.txt?number=4627

olduğunu Ama farklı json biçemleyicileri tarih/saat kodlamak için nasıl sorular örneğin özel durumlarda biraz farklı sonuçlar verebilir bilmeli. UTF-8 ve DataContractJsonSerializer ile

Örnek:

 // Create a User object and serialize it to a JSON stream. 
     public static string WriteFromObject() 
     { 
      //Create User object. 
      User user = new User("Bob", 42); 

      //Create a stream to serialize the object to. 
      MemoryStream ms = new MemoryStream(); 

      // Serializer the User object to the stream. 
      DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(User)); 
      ser.WriteObject(ms, user); 
      byte[] json = ms.ToArray(); 
      ms.Close(); 
      return Encoding.UTF8.GetString(json, 0, json.Length); 

     } 

     // Deserialize a JSON stream to a User object. 
     public static User ReadToObject(string json) 
     { 
      User deserializedUser = new User(); 
      MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)); 
      DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedUser.GetType()); 
      deserializedUser = ser.ReadObject(ms) as User; 
      ms.Close(); 
      return deserializedUser; 
     }