繁体   English   中英

将字符串转换为对象 C#

[英]Convert string to Object C#

使用时必须使用哪个对象来转换 JSON 字符串

jsonstring = "{"message":"success","ID": "[83689707,83689708]"}"
var obj = JsonConvert.DeserializeObject<jsonResponseMail>(jsonstring);

我试过这个对象但转换失败:

public class jsonResponseMail
    {
        public string message { get; set; }
        public List<int> ID { get; set; }
    }

  public class jsonResponseMail
    {
        public string message { get; set; }
        public List<string> ID { get; set; }
    }

   public class jsonResponseMail
    {
        public string message { get; set; }
        public int[] ID { get; set; }
    }
    
    public class jsonResponseMail
    {
        public string message { get; set; }
        public string[] ID { get; set; }
    }

鉴于你的字符串它应该是

public class jsonResponseMail
{
    public string message { get; set; }
    public string ID { get; set; }
}

如果你期待一个列表,那么字符串就是

{"message":"success","ID": [83689707,83689708]}

和班级将是

public class jsonResponseMail
{
    public string message { get; set; }
    public List<int> ID { get; set; }
}

jsonResponseMail也不遵守类命名约定。 请改用JsonResponseMail

您需要手动修改您的 JSON 字符串。 像这样的东西:

var original = JsonConvert.DeserializeObject<JsonResponseMailOriginal>(json);
var ids = original.Id.Replace("[", "").Replace("]", "").Split(',').Select(Int32.Parse).ToList();
var result = new JsonResponseMail()
{
    message = original.message,
    Ids = ids
};

暂无
暂无

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

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