Für meine Unix/Java Freunde möchte ich Zeilenumbrüche ('\ n') anstelle von CRLF ( '\ r \ n') in Json.Net senden. Ich habe versucht, einen StreamWriter so einzustellen, dass er einen Zeilenumbruch ohne Erfolg verwendet.Generieren von Zeilenumbrüchen anstelle von CRLFs in Json.Net
Ich denke Json.Net Code verwendet Environment.NewLine
statt TextWriter.WriteNewLine()
aufrufen. Das Ändern von Environment.NewLine
ist keine Option, da ich als ein Server ausgeführt werde und die Newline-Codierung auf der Anforderung basiert.
Gibt es einen anderen Weg Newline für crlf zwingen?
Hier ist mein 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
}
wenn die 'Newline-Codierung auf der Anfrage basiert.' - Warum wird LF für Unix-Clients nicht gesetzt? – Isantipov
Was ist mit String.chr (13) + String.chr (10)? –
@Isantipov, 'Environment.NewLine' ist eine globale (statische) Variable. Auf einem Server laufen mehrere Threads. "Asynchrone" Co-Routinen. Ich brauche eine lokalisierte Methode zur Angabe der Newline-Zeichenfolge. –