JSON.NET反序列化对象或数组POCO

时间:2014-11-24 22:08:13

标签: c# json.net

我正在使用NewtonSoft.JSON来解析我的数据。我的目标是创建一个名为SalesLines的对象,其中包含一个List:

public class SalesLines
{
   public List<SalesLine> SalesLines {get; set;}
}

我的数据有时是数组,有时也是对象:

 "SaleLines": {
"SaleLine": [
      {
        "saleLineID": "3963",

        },
        }]}



"SaleLines": {
    "SaleLine": { "salesLineID": "3333" };

如何在此方案中创建POCO?我目前的解决方案有效,但它很混乱:

string salesLineJson = sale.SaleLines.SaleLine.ToString();

var salesLineToken = JToken.Parse(salesLineJson);

if (salesLineToken is JArray)
{                     
   sale.SaleLines.Lines.AddRange(JArray.Parse(salesLineJson).ToObject<List<SaleLine>>());
}
else if (salesLineToken is JObject)
{
   sale.SaleLines.Lines.Add(JObject.Parse(salesLineJson).ToObject<SaleLine>());
}

0 个答案:

没有答案