Wenn Sie wirklich diese wörtliche in einem String tun müssen, ich wörtliche eine wortgetreue Zeichenfolge verwenden würde (das @
Präfix). In verbatim String-Literalen müssen Sie ""
verwenden, um ein Doppelzitat darzustellen. Ich würde vorschlagen, interpolierte Stringliterale zu verwenden, um die Einbettung von title
und message
sauberer zu machen. Das heißt, Sie müssen die {{
und }}
jedoch verdoppeln. Also würden Sie haben:
string title = "This is the title: ";
string message = "(Message)";
string str = [email protected]"
{{
""aps"":
{{
""alert"":""{title}{message}""
}}
}}";
Console.WriteLine(str);
Ausgang:
{
"aps":
{
"alert":"This is the title: (Message)"
}
}
Dies ist jedoch noch zerbrechlicher als einfach JSON Aufbau eines JSON-API - wenn der Titel oder eine Mitteilung zitiert zum Beispiel enthält, Sie Am Ende wird ungültiges JSON angezeigt. Ich würde nur Json.NET verwenden, zum Beispiel:
string title = "This is the title: ";
string message = "(Message)";
JObject json = new JObject
{
["aps"] = new JObject
{
["alert"] = title + message
}
};
Console.WriteLine(json.ToString());
Das IMO viel sauberer ist, sowie robuster zu sein.
Sie können einfache Anführungszeichen anstelle von doppelten Anführungszeichen verwenden. –
@ X-TECH: Nicht, wenn das OP mit gültigem JSON enden will. –