前言

今天在工作上剛好碰到了要將字串轉換成 Json 格式傳遞給別人,遇到了有趣的事情特別記錄一下。

本文

一開始很好奇我擷取的字串出來序列化的 Json 格式,會多出空行的符號\r\n。

"{\"A\":\"ss\r\nss\",\"B\":\"ss\nss\"}"

於是就跟同事討論起這件事,我一開始想法是這是不是會影響別人收到後處理結果呢?
同事做了簡單範例解釋。

    class Program
    {
        static void Main(string[] args)
        {
			var objTest = new Test
			{
				A = "ss\r\nss",
				B = "ss\nss"
			};

			var jsonObj = JsonConvert.SerializeObject(objTest);

			Console.WriteLine(jsonObj);

			var obj2 = JsonConvert.DeserializeObject<Test>("{\"A\":\"ss\r\nss\",\"B\":\"ss\nss\"}");

			Console.WriteLine(obj2.A);
			Console.WriteLine(obj2.B);
		}

		public class Test
		{
			public string A { get; set; }
			public string B { get; set; }
		}
	}

輸出結果

輸出結果
Json 格式會有自己特殊的跳脫字元,而在反序列化中程式就會將字串轉換成我們看到的正常樣貌。
所以結論就是,通通丟給對方處理就對了🤟

參考連結