我有,当我取回然而数据的单个条目deserialises精细数据,无法反序列化当前的JSON对象多个对象
无法反序列化当前的JSON对象(例如{“名”:“值” }) 成型 'System.Collections.Generic.List`1 [Purchaseorderline]' 因为类型需要JSON阵列(例如[1,2,3]),以正确地反序列化 。
这是检索订单和的OrderItems,我可以做一个单一的命令(通过请求一个订单号),然而,当我得到的所有订单,它的错误, 我已经完成了标准转换成JSON对象,以确保我的课是正确的,什么也看不见林应适用作为数组上我的课就干脆把它变成类型RootObject的名单..
这里是我的代码:
{
// ... Read the string.
var result1 = await content.ReadAsStringAsync();
List<Rootobject> POOrders = new List<Rootobject>();
Rootobject test = JsonConvert.DeserializeObject<Rootobject>(result1);
POOrders.Add(test);
POOrders = JsonConvert.DeserializeObject<List<Rootobject>>(result1);
}
这里是类:
using Newtonsoft.Json;
using System;
using SFOrders;
public class Rootobject:Purchaseorderline
{
[JsonProperty("PurchaseOrderID")]
public string PurchaseOrderID { get; set; }
[JsonProperty("PurchaseOrderGuid")]
public string PurchaseOrderGuid { get; set; }
[JsonProperty("User")]
public User User { get; set; }
public string PurchaseOrderReference { get; set; }
[JsonProperty("DateRaised")]
public DateTime DateRaised { get; set; }
[JsonProperty("Supplier")]
public Supplier Supplier { get; set; }
[JsonProperty("Warehouse")]
public Warehouse Warehouse { get; set; }
[JsonProperty("DateDue")]
public DateTime DateDue { get; set; }
[JsonProperty("PurchaseOrderStatus")]
public string PurchaseOrderStatus { get; set; }
[JsonProperty("DeliveryCost")]
public float DeliveryCost { get; set; }
[JsonProperty("Subtotal")]
public float Subtotal { get; set; }
[JsonProperty("TotalVat")]
public float TotalVat { get; set; }
[JsonProperty("Total")]
public float Total { get; set; }
[JsonProperty("Currency")]
public Currency Currency { get; set; }
[JsonProperty("DateSent")]
public DateTime DateSent { get; set; }
[JsonProperty("PurchaseOrderLines")]
public Purchaseorderline[] PurchaseOrderLines { get; set; }
}
public class User
{
[JsonProperty("UserID")]
public int UserID { get; set; }
[JsonProperty("UserName")]
public string UserName { get; set; }
}
public class Supplier
{
[JsonProperty("SupplierID")]
public int SupplierID { get; set; }
[JsonProperty("Name")]
public string Name { get; set; }
}
public class Warehouse
{
[JsonProperty("WarehouseName")]
public string WarehouseName { get; set; }
[JsonProperty("WarehouseGuid")]
public string WarehouseGuid { get; set; }
[JsonProperty("WarehouseID")]
public int WarehouseID { get; set; }
}
public class Currency
{
[JsonProperty("CurrencyID")]
public int CurrencyID { get; set; }
[JsonProperty("CurrencyCode")]
public string CurrencyCode { get; set; }
[JsonProperty("CurrencyName")]
public string CurrencyName { get; set; }
}
public class Purchaseorderline
{
[JsonProperty("PurchaseOrderLineID")]
public int PurchaseOrderLineID { get; set; }
[JsonProperty("ProductSKU")]
public string ProductSKU { get; set; }
[JsonProperty("QtyOrdered")]
public int QtyOrdered { get; set; }
[JsonProperty("QtyReceived")]
public int QtyReceived { get; set; }
[JsonProperty("PurchaseOrderDetailStatus")]
public string PurchaseOrderDetailsStatus { get; set; }
[JsonProperty("SinglePrice")]
public float SinglePrice { get; set; }
[JsonProperty("LineVat")]
public float LineVat { get; set; }
[JsonProperty("LineTotal")]
public float LineTotal { get; set; }
[JsonProperty("DeliveryStatusID")]
public int DeliveryStatusID { get; set; }
[JsonProperty("QtyWrittenOff")]
public float QtyWrittenOff { get; set; }
[JsonProperty("CartonQty")]
public int CartonQty { get; set; }
[JsonProperty("AddedByUserID")]
public int AddedByUserID { get; set; }
[JsonProperty("TotalUnitsOrdered")]
public int TotalUnitsOrdered { get; set; }
[JsonProperty("TotalUnitsReceived")]
public int TotalUnitsReceived { get; set; }
[JsonProperty("TotalUnitsWrittenOff")]
public int TotalUnitsWrittenOff { get; set; }
[JsonProperty("LineNotes")]
public string LineNotes { get; set; }
[JsonProperty("TotalItems")]
public int TotalItems { get; set; }
[JsonProperty("PagingInfo")]
public object PagingInfo { get; set; }
[JsonProperty("TotalPages")]
public int TotalPages { get; set; }
[JsonProperty("Data")]
public SFOrders.SFOrderData.Datum[] Data { get; set; }
}
,这里是原始数据:
{
"TotalItems":2,
"PagingInfo":{
"PageSize":100,
"Page":1
},
"TotalPages":1,
"Data":[
{
"PurchaseOrderID":21179,
"PurchaseOrderGuid":"89bb1056-4d26-42a2-bf9c-25962637b42e",
"User":{
"UserID":10169,
"UserName":"Viv Williams"
},
"PurchaseOrderReference":"1-test-1",
"DateRaised":"2017-03-03T00:00:00",
"Supplier":{
"SupplierID":1307,
"Name":"99A Avery Warehouse"
},
"Warehouse":{
"WarehouseName":"Charlies Direct",
"WarehouseGuid":"00000000-0000-0000-0000-000000000000",
"WarehouseID":122
},
"DateDue":"2017-03-04T00:00:00",
"PurchaseOrderStatus":"SentToSupplier",
"DeliveryCost":0.0000,
"Subtotal":0.0000,
"TotalVat":0.0000,
"Total":0.0000,
"Currency":{
"CurrencyID":4,
"CurrencyCode":"GBP",
"CurrencyName":"British Pound"
},
"DateSent":"2017-03-03T12:13:59.05",
"PurchaseOrderLines":[
{
"PurchaseOrderLineID":184694,
"ProductSKU":"065233",
"QtyOrdered":3,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":3,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
},
{
"PurchaseOrderLineID":184695,
"ProductSKU":"039586",
"QtyOrdered":10,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":10,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
},
{
"PurchaseOrderLineID":184696,
"ProductSKU":"009493",
"QtyOrdered":2,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":2,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
},
{
"PurchaseOrderLineID":184697,
"ProductSKU":"002836",
"QtyOrdered":5,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":5,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
}
]
},
{
"PurchaseOrderID":21180,
"PurchaseOrderGuid":"854c1c5a-f63b-490e-99dc-119ed298988a",
"User":{
"UserID":10169,
"UserName":"Viv Williams"
},
"PurchaseOrderReference":"2 add Tues",
"DateRaised":"2017-03-03T00:00:00",
"Supplier":{
"SupplierID":1298,
"Name":"99D Dyffryn Warehouse"
},
"Warehouse":{
"WarehouseName":"Charlies Direct",
"WarehouseGuid":"00000000-0000-0000-0000-000000000000",
"WarehouseID":122
},
"DateDue":"2017-03-04T00:00:00",
"PurchaseOrderStatus":"SentToSupplier",
"DeliveryCost":0.0000,
"Subtotal":0.0000,
"TotalVat":0.0000,
"Total":0.0000,
"Currency":{
"CurrencyID":4,
"CurrencyCode":"GBP",
"CurrencyName":"British Pound"
},
"DateSent":"2017-03-03T12:13:48.19",
"PurchaseOrderLines":[
{
"PurchaseOrderLineID":184698,
"ProductSKU":"003010",
"QtyOrdered":5,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":5,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
},
{
"PurchaseOrderLineID":184699,
"ProductSKU":"094508",
"QtyOrdered":12,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":12,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
},
{
"PurchaseOrderLineID":184700,
"ProductSKU":"003820",
"QtyOrdered":20,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":20,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
},
{
"PurchaseOrderLineID":184701,
"ProductSKU":"003823",
"QtyOrdered":4,
"QtyReceived":0,
"PurchaseOrderDetailsStatus":"AwaitingProduct",
"SinglePrice":0.0000,
"LineVat":0.0000,
"LineTotal":0.0000,
"DeliveryStatusID":1,
"QtyWrittenOff":0.0,
"CartonQty":1,
"AddedByUserID":10169,
"TotalUnitsOrdered":4,
"TotalUnitsReceived":0,
"TotalUnitsWrittenOff":0,
"LineNotes":""
}
]
}
]
}
我不能作为其从供应商API调用改变JSON的需要..?我改变了我的类只是一个对象数组[JsonProperty(“Data”)] public object [] Data {get;组; }但没有快乐我害怕, –