Cannot deserialze the current JSON array into type

I'm trying to deserialize following JSON data :

{
  "bids": [
    [
      "392031.00000000",
      "0.00254444"
    ],
    [
      "390000.00000000",
      "0.52917503"
    ],
     ......
    ],

   "asks": [
    [
      "392999.00000000",
      "1.00000000"
    ],
    [
      "393000.00000000",
      "0.31572236"
    ],
    .....
    ]
}

I've looked into similar question such as this one, but I'm not getting close result and also noticed that in that question the structure of JSON is not similar.

My code for deserialization is as below

public class OrderBookElement
{
    // I've also tried below commented code
    //[JsonProperty(PropertyName = "0")]
    //public double price { get; set; }

    //[JsonProperty(PropertyName = "1")]
    //public double volume { get; set; }

    List<double> values;
}
public class OrderBookResponse
{
    [JsonProperty(PropertyName = "bids")]
    List<OrderBookElement> bids { get; set; }
    [JsonProperty(PropertyName = "asks")]
    List<OrderBookElement> asks { get; set; }
}

Below is code that I use for deserialization

var ordBook = JsonConvert.DeserializeObject<OrderBookResponse>(jsonResponse);

This gives me error:

Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'RestAPI.OrderBookElement' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. 
Jon Skeet
people
quotationmark

The JSON you've shown would be represented by:

public class OrderBookResponse
{
    [JsonProperty("bids")]
    public List<List<string>> Bids { get; set; }

    [JsonProperty("asks")]
    public List<List<string>> Asks { get; set; }
}

The bids and asks properties in the JSON are each just an array of arrays of strings.

I'd suggest deserializing to a model which matches the JSON, then convert that into a more useful model separately. It may be possible to apply attributes to your class to persuade Json.NET to do what you want, but I tend to think that by the time there's a significant discrepancy (not just the property names), it's worth separating the two models out, one for serialization and one for use within the rest of your code.

people

See more on this question at Stackoverflow