Link to home
Start Free TrialLog in
Avatar of JRockFL
JRockFLFlag for United States of America

asked on

Deserialize json using json.net

I'm trying to deseriliaze this json response without luck.

Unable to cast object of type 'Newtonsoft.Json.Linq.JArray' to type 'RootObject'.

RootObject rootObject = JsonConvert.DeserializeObject(responseMessage);
What Am I doing wrong?

[{"total_collected_money":{"currency_code":"USD","amount":3497},"tender":[{"type":"CREDIT_CARD","name":"Credit Card","total_money":{"currency_code":"USD","amount":3497},"card_brand":"AMERICAN_EXPRESS","pan_suffix":"9999","entry_method":"SWIPED"}],"inclusive_tax_money":{"currency_code":"USD","amount":0},"id":"xxxx","discount_money":{"currency_code":"USD","amount":-1498},"device":{"name":"iPad"},"net_total_money":{"currency_code":"USD","amount":3401},"tax_money":{"currency_code":"USD","amount":0},"creator_id":"xxxx","merchant_id":"xxxx","refunded_money":{"currency_code":"USD","amount":-13487},"inclusive_tax":[],"refunds":[{"type":"FULL","created_at":"2014-02-20T16:21:32Z","processed_at":"2014-02-20T16:21:32Z","reason":"Canceled Order","refunded_money":{"currency_code":"USD","amount":-3497}}],"additive_tax_money":{"currency_code":"USD","amount":0},"processing_fee_money":{"currency_code":"USD","amount":-96},"tip_money":{"currency_code":"USD","amount":0},"additive_tax":[],"created_at":"2014-02-20T16:20:06Z"}]


public class TotalCollectedMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class TotalMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class Tender
{
    public string type { get; set; }
    public string name { get; set; }
    public TotalMoney total_money { get; set; }
    public string card_brand { get; set; }
    public string pan_suffix { get; set; }
    public string entry_method { get; set; }
}

public class InclusiveTaxMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class DiscountMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class Device
{
    public string name { get; set; }
}

public class NetTotalMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class TaxMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class RefundedMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class RefundedMoney2
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class Refund
{
    public string type { get; set; }
    public string created_at { get; set; }
    public string processed_at { get; set; }
    public string reason { get; set; }
    public RefundedMoney2 refunded_money { get; set; }
}

public class AdditiveTaxMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class ProcessingFeeMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class TipMoney
{
    public string currency_code { get; set; }
    public int amount { get; set; }
}

public class RootObject
{
    public TotalCollectedMoney total_collected_money { get; set; }
    public List<Tender> tender { get; set; }
    public InclusiveTaxMoney inclusive_tax_money { get; set; }
    public string id { get; set; }
    public DiscountMoney discount_money { get; set; }
    public Device device { get; set; }
    public NetTotalMoney net_total_money { get; set; }
    public TaxMoney tax_money { get; set; }
    public string creator_id { get; set; }
    public string merchant_id { get; set; }
    public RefundedMoney refunded_money { get; set; }
    public List<object> inclusive_tax { get; set; }
    public List<Refund> refunds { get; set; }
    public AdditiveTaxMoney additive_tax_money { get; set; }
    public ProcessingFeeMoney processing_fee_money { get; set; }
    public TipMoney tip_money { get; set; }
    public List<object> additive_tax { get; set; }
    public string created_at { get; set; }
}

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of kaufmed
kaufmed
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of JRockFL

ASKER

Yes, it should be an array. I omitted part of the response.
Avatar of JRockFL

ASKER

That was it.
I have it now. Thank you!

RootObject[] rootobject = JsonConvert.DeserializeObject<RootObject[]>(responseMessage);

Open in new window