【发布时间】:2016-09-05 07:33:14
【问题描述】:
我制作了一个 jquery 过滤器工具,它以 json 格式返回到我的服务器端过滤器数据。我想将它转换为 C# 类,并且我想将任何 C# 类转换为我的 json。
我的 json 和下面的镜像 C# 类:
[{"field":{"label":"Category","value":"category"},"operator":{"label":"any of","value":"in"},"value":{"label":"(Family, Friends)","value":"1,2"}},{"field":{"label":"Age","value":"age"},"operator":{"label":">","value":"gt"},"value":{"label":"18","value":"18"}},{"field":{"label":"Firstname","value":"firstname"},"operator":{"label":"equals","value":"eq"},"value":{"label":"\"test\"","value":"test"}},{"field":{"label":"Lastname","value":"lastname"},"operator":{"label":"equals","value":"eq"},"value":{"label":"\"test2\"","value":"test2"}}]
C#镜像:
public class Field
{
public string label { get; set; }
public string value { get; set; }
}
public class Operator
{
public string label { get; set; }
public string value { get; set; }
}
public class Value
{
public string label { get; set; }
public string value { get; set; }
}
public class RootObject
{
public Field field { get; set; }
public Operator @operator { get; set; }
public Value value { get; set; }
}
我试过这样:
public class ViewFilter
{
public List<Field> Fields { get; set; }
public List<Operator> Operators { get; set; }
public List<Value> Values { get; set; }
public List<RootObject> RootObjects { get; set; }
}
public class Field
{
public string label { get; set; }
public string value { get; set; }
}
public class Operator
{
public string label { get; set; }
public string value { get; set; }
}
public class Value
{
public string label { get; set; }
public string value { get; set; }
}
public class RootObject
{
public Field field { get; set; }
public Operator @operator { get; set; }
public Value value { get; set; }
}
我试过了:
var result = JsonConvert.DeserializeObject<List<ViewModel.ViewFilter>>(filter).ToList();
foreach (ViewModel.ViewFilter item in result)
{
}
【问题讨论】:
-
@avi Turner ;我重新安排了我的问题
标签: c# json serialization json.net deserialization