2012-06-20 32 views

Trả lời

2

Something như thế này bằng cách sử dụng mã hóa UTF-8, như một ví dụ đơn giản

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

Mã hóa văn bản bằng UTF-8, sử dụng mã hóa JSON và HTTP. Đủ rôi. Mã hóa HTTP hữu ích khi bạn có ngắt dòng và các ký tự đặc biệt khác.

Standart là ở đây http://www.ietf.org/rfc/rfc4627.txt?number=4627

Nhưng bạn nên biết rằng trình định dạng json khác nhau có thể tạo ra trong những trường hợp đặc biệt kết quả hơi khác nhau, ví dụ như trong câu hỏi làm thế nào để mã hóa ngày/giờ.

Ví dụ với UTF-8 và DataContractJsonSerializer:

 // 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; 
     } 
Các vấn đề liên quan