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中,可以很好地处理转义字符的序列化和反序列化。

  • 相关阅读:
    TypeScript中处理大数字(会丢失后面部分数字)
    多行字符串换行符(`) + 模板字符串
    ES6 阮一峰阅读学习
    ms转成00:00:00的时间格式化
    android侧滑效果,SlidingMenu配置
    Android Developers:按需求加载视图
    Python测试代理ip是否有效
    JavaScript去除数组中重复的数字
    Python连接redis
    [已解决]报错: Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/12960880.html
Copyright © 2011-2022 走看看