Générer des retours à la ligne au lieu de CRLFs dans Json.Net

Pour ma unix/java les amis, je voudrais envoyer des retours à la ligne ('\n') au lieu d'un CRLF (
'\r\n') dans Json.Net. J'ai essayé de fixer un StreamWriter pour utiliser un saut de ligne, sans succès.

Je pense que Json.Net code à l'aide de Environment.NewLine au lieu de l'appeler TextWriter.WriteNewLine(). Changer Environment.NewLine n'est pas une option parce que je suis en cours d'exécution en tant que serveur et le retour à la ligne de codage est basé sur la demande.

Est-il une autre façon pour forcer un saut de ligne pour crlf?

Voici mon code -

using (var streamWriter = new StreamWriter(writeStream, new UTF8Encoding(false))
{
     NewLine = "\n"
})
using (var jsonWriter = new JsonTextWriter(streamWriter) 
{ 
     CloseOutput = true, 
     Indentation = 2, 
     Formatting = Formatting.Indented 
})
{
       //serialise object to JSON
}
si le " le retour à la ligne de codage est basé sur la demande.' - pourquoi n'est-il pas mis à la LF pour les clients unix?
Quid de la Chaîne.chr(13) + String.chr(10)?
Environment.NewLine est globale (statique) de la variable. Dans un serveur, j'ai plusieurs threads en cours d'exécution; jamais l'esprit async co-routines. J'ai besoin d'un localisée méthode de spécification de la nouvelle ligne de chaîne.
merci mais je travaille en c# et pas VB et je sais déjà comment représenter un CRLF comme une chaîne de caractères.
Juste pour clarifier, parlez-vous des retours à la ligne émis pour Formatting.Indented ou des retours à la ligne au sein de la chaîne de valeurs dans l'objet à sérialiser? Si c'est l'ancien, pourquoi êtes-vous à l'aide de formaté JSON? Sûrement le client ne se soucie pas si une chaîne JSON est bien mis en forme avec des sauts de ligne.

OriginalL'auteur Richard Schneider | 2014-05-11