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

  • 相关阅读:
    站内信DB设计实现
    redis.conf配置详细解析
    MySQL中的锁(表锁、行锁)
    App开放接口api安全性—Token签名sign的设计与实现
    Linux下恢复误删除的文件
    系统资源监控工具
    MySQL性能监控工具-MONyog
    jstack Dump 日志文件中的线程状态
    数据库性能测试方案示例
    [转载]ant和maven的区别
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/12960880.html
Copyright © 2011-2022 走看看