I am using NewtonSoft.JSON to parse my data. My goal is to create an object called SalesLines that contains a List:
public class SalesLines
{
public List<SalesLine> SalesLines {get; set;}
}
My data is sometimes an array and sometimes an object:
"SaleLines": {
"SaleLine": [
{
"saleLineID": "3963",
},
}]}
"SaleLines": {
"SaleLine": { "salesLineID": "3333" };
How do I create a POCO in this scenario? My current solutions works, but it is messy:
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>());
}