簡體   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