Estoy construyendo una API web usando MVC4 y algunos bloques de texto de solicitud de retorno que pueden tener frenos de línea, caracteres especiales, texto chino y español. ¿Cómo debo escapar/codificar esta información para enviarla a través de la API?¿Cuál es el estándar para la codificación de texto para una aplicación web JSON REST?
8
A
Respuesta
2
Algo como esto utilizando la codificación UTF-8, como un ejemplo simplificado
public JsonResult Find(string term)
{
var items = service.Find(term);
return Json(items,"application/json; charset=utf-8", JsonRequestBehavior.AllowGet);
}
1
Codifica el texto usando UTF-8, usa codificación JSON y HTTP. Es suficiente. La codificación HTTP es útil cuando tiene saltos de línea y otros caracteres especiales.
Standart es aquí http://www.ietf.org/rfc/rfc4627.txt?number=4627
Pero usted debe saber que diferentes formateadores JSON podrían producir en casos especiales resultados ligeramente diferentes, por ejemplo, en cuestiones como codificar fecha/hora.
Ejemplo con UTF-8 y 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;
}
Cuestiones relacionadas
- 1. ¿Cuál es el mejor lenguaje/marco web para usar con una API REST y JSON?
- 2. ¿Cuál es la codificación predeterminada para System.IO.File.ReadAllText
- 3. ¿cuál es el mejor alojamiento para la aplicación web java?
- 4. ¿Cuál es la mejor forma de Java para crear servicios web REST JSON/XML que es similar a WCF?
- 5. ¿Cuál es el método preferido para un 'WSDL' para el servicio web REST?
- 6. REST estándar para comprobar si existe recurso
- 7. ¿Cuál es el mejor enfoque para construir un cliente de iPhone para una aplicación de rieles?
- 8. ¿Cuál es la codificación predeterminada para una cadena en VB.NET?
- 9. ¿REST es una buena opción para las aplicaciones web GUI?
- 10. ¿Cómo debo proteger mi WCF Rest/JSON Services para su uso con una aplicación iOS/Android?
- 11. ¿Cuál debería ser el estándar para las URL ReSTful?
- 12. Esquema de codificación de REST URL Spring:% 20 o + ¿Cuál?
- 13. jersey web service codificación json utf-8
- 14. ¿Cuál es el grupo de aplicaciones correcto para Net 4.5 para la aplicación web en IIS?
- 15. ¿Cuál es la mejor manera de implementar una API REST de registro para iPhone/Android?
- 16. ¿Cuál es la mejor práctica para las fechas de codificación en JSON?
- 17. Paginación en una aplicación web REST
- 18. ¿Cuál es la mejor manera de consumir servicios web REST?
- 19. Cuál es la diferencia entre texto/xml vs application/xml para la respuesta del servicio web
- 20. ¿Cuál es el tiempo razonable para generar una página web?
- 21. ¿Cuál es la altura y el ancho máximo práctico para una aplicación web?
- 22. ¿Cuál es el estilo de codificación recomendado para PowerShell?
- 23. MVC2 o WCF para una API REST XML/JSON?
- 24. ¿Cómo hacer un servidor web REST con Delphi como back-end para una gran aplicación web?
- 25. ¿Cómo implementar REST en una aplicación web?
- 26. ¿Cuál es la mejor práctica de codificación para las condiciones?
- 27. Aplicación de estándares de codificación web
- 28. protocolo de descubrimiento de servicio web REST (json)
- 29. JSON codificación de caracteres
- 30. ¿La codificación gzip es compatible con JSON?