我有以下课程
[Serializable]
public class filters
{
public List<string> key1 { get; set; }
public List<string> key2 { get; set; }
public List<string> key3 { get; set; }
}
json 字符串是
[{"key1": "key1value"}]
反序列化就像
filters objFilter = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<filters>(json);
json 字符串可能包含 key1、key2 和 key3,也可能不包含。
key1、key2、key3 可以是单个字符串或数组
那么我该如何反序列化它。
它主要是抛出一个错误。
不支持类对数组进行反序列化
请指教
谢谢
你的代码的问题是你的json不正确
在控制台应用程序中输入以下代码,看看会得到什么
var filtr = new filters { key1 = new List<string>() { "key1value" } };
var json = new JavaScriptSerializer().Serialize(filtr);
var text = "{\"key1\":[\"key1value\"]}";
filtr = new JavaScriptSerializer().Deserialize<filters>(text);
或者将您的 json 更改为以下内容
json 中的“[]”表示它是一个数组,因此您尝试反序列化数组以输入过滤器
{"key1":["key1value"]}
那么你的反序列化应该可以工作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)