簡體   English   中英

將JSON反序列化為通用列表

[英]Deserializing JSON as a Generic List

我有一個過濾字符串,如下面的格式所示:

{"groupOp":"AND","rules":[{"field":"FName","op":"bw","data":"te"}]}

我需要將其反序列化為通用項目列表。

任何人都可以指導我如何做到這一點?

看看JSON.NET 它允許您執行以下操作:

JObject o = new JObject(
  new JProperty("Name", "John Smith"),
  new JProperty("BirthDate", new DateTime(1983, 3, 20))
  );

JsonSerializer serializer = new JsonSerializer();
Person p = (Person)serializer.Deserialize(new JTokenReader(o), typeof(Person));

Console.WriteLine(p.Name);
// John Smith

資料來源: 文件

嘗試使用JavaScriptSerializer類,如下所示:

反序列化代碼

using System.Web.Script.Serialization;

...

string json = "{\"groupOp\":\"AND\",\"rules\":[{\"field\":\"FName\",\"op\":\"bw\",\"data\":\"te\"}]}";
JavaScriptSerializer serializer = new JavaScriptSerializer();
Filter filter = (Filter)serializer.Deserialize<Filter>(json);

public class Filter
{
    public string GroupOp { get; set; }
    public List<Rule> Rules { get; set; }

    public Filter()
    {
        Rules = new List<Rule>();
    }
}

public class Rule
{
    public string Field { get; set; }
    public string Op { get; set; }
    public string Data { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM