繁体   English   中英

c#Serialize和json

[英]c# Serialize and json

我试图反序列化:

JsonConvert.DeserializeObject<ContentModel>("{\"Message\":\"asdf\",\"Attachments\":[\"dummy.pdf\",\"unnamed.jpg\"]}"),

内容模型的位置:

public class ContentModel
{
    public string Message { get; set; }
    public string ContentType { get; set; }
    public string[] Attachments { get; set; }
}

但由于Attachments的字符串数组,反序列化失败。

您在\\"dummy.pdf\\"\\"unnamed.jpg\\"之间使用的字符实际上不是逗号! 它看起来像是一个逗号! 将其取下并更换为,

更新
正如@dbc所提到的,当前在您的代码中使用的字符是FULLWIDTH COMMA

固定的JSON是

 JsonConvert.DeserializeObject<ContentModel>("{\"Message\":\"asdf\",\"Attachments\":[\"dummy.pdf\",\"unnamed.jpg\"]}"),

测试小程序:

using Newtonsoft.Json;
using System;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            var y = JsonConvert.DeserializeObject<ContentModel>("{\"Message\":\"asdf\",\"Attachments\":[\"dummy.pdf\",\"unnamed.jpg\"]}");
            Console.WriteLine(JsonConvert.SerializeObject(y, Formatting.Indented));

            Console.ReadKey();
        }
    }

    public class ContentModel
    {
        public string Message { get; set; }
        public string ContentType { get; set; }
        public string[] Attachments { get; set; }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM