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

  • 相关阅读:
    FPGA+ADV7511实现HDMI显示
    【转载】ZYNQ Cache问题的解决方法
    FPGA控制RGMII接口PHY芯片基础
    【转载】linux 压缩和解压缩命令gz、tar、zip、bz2
    python中正则表达式与模式匹配
    【转载】数字IC设计流程及开发工具
    Linux基本操作——文件相关
    数字信号处理专题(3)——FFT运算初探
    C++基础——类继承中方法重载
    C++基础——类继承
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/12960880.html
Copyright © 2011-2022 走看看