zoukankan      html  css  js  c++  java
  • C#中JSON字符串中的转义字符

    新建一个.NET Core控制台项目,然后引入Json.NET的NuGet包:Newtonsoft.Json,我们使用Json.NET将类序列化为JSON字符串,再将JSON字符串反序列化为类,代码如下:

    using Newtonsoft.Json;
    using System;
    
    namespace NetCoreJson
    {
        public class MessageContainer
        {
            public string Message1
            {
                get;
                set;
            }
    
            public string Message2
            {
                get;
                set;
            }
    
            public string Message3
            {
                get;
                set;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                MessageContainer messageContainerToJson = new MessageContainer()
                {
                    Message1 = "这是带双引号转义字符的消息:"今天是个好天气!"",
                    Message2 = "这是带换行的消息:今天天气真好
    适合出去郊游
    真是愉快的一天",
                    Message3 = "这是带其它转义字符的消息:制表符	退格符斜线\空格 "
                };
    
                string toJsonMessage = JsonConvert.SerializeObject(messageContainerToJson, Formatting.Indented);
    
                Console.WriteLine(toJsonMessage);
                /*
                    {
                      "Message1": "这是带双引号转义字符的消息:"今天是个好天气!"",
                      "Message2": "这是带换行的消息:今天天气真好
    适合出去郊游
    真是愉快的一天",
                      "Message3": "这是带其它转义字符的消息:制表符	退格符斜线\空格 "
                    }
                 */
    
                string fromJsonMessage = "{"Message1":"这是带双引号转义字符的消息:\"今天是个好天气!\"","Message2":"这是带换行的消息:今天天气真好\n适合出去郊游\n真是愉快的一天","Message3":"这是带其它转义字符的消息:制表符\t退格符\b斜线\\空格 "}";
    
                MessageContainer messageContainerFromJson = JsonConvert.DeserializeObject<MessageContainer>(fromJsonMessage);
    
                Console.WriteLine("Message1为:{0}", messageContainerFromJson.Message1);
                Console.WriteLine("Message2为:{0}", messageContainerFromJson.Message2);
                Console.WriteLine("Message3为:{0}", messageContainerFromJson.Message3);
    
                Console.WriteLine("Press any key to end...");
                Console.ReadKey();
            }
        }
    }

    可以看到Json.NET可以将字符串中"和 等转义字符,进行序列化和反序列化,上面程序的运行结果如下:

    所以可以看到在JSON中,可以很好地处理转义字符的序列化和反序列化。

  • 相关阅读:
    258. Add Digits 数位相加到只剩一位数
    7. Reverse Integer 反转整数
    9. Palindrome Number 回文数的判断
    824. Goat Latin山羊拉丁文
    819. Most Common Word 统计高频词(暂未被禁止)
    Angular 2 模板语法
    HTML DOM Style opacity 属性
    Basic concepts (C language) – C 中文开发手册
    JavaScript手册 | JS Array 对象中的fill()方法
    HTML <form> 标签
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/12960880.html
Copyright © 2011-2022 走看看