Cannot deserialize the current JSON array (e.g. [1,2,3]) into type
asp.net, c#, deserialization, json
Solution
It looks like the string contains an array with a single `MyStok` object in it. If you remove square brackets from both ends of the input, you should be able to deserialize the data as a single object:
MyStok myobj = JSON.Deserialize<MyStok>(sc.Substring(1, sc.Length-2));
You could also deserialize the array into a list of `MyStok` objects, and take the object at index zero.
var myobjList = JSON.Deserialize<List<MyStok>>(sc);
var myObj = myobjList[0];
Problem
I have a class like this: ``` public class MyStok { public int STId { get; set; } public int SM { get; set; } public string CA { get; set; } public string Br { get; set; } public string BNo { get; set; } public decimal Vat { get; set; } public decimal Price { get; set; } } ``` I deserialize like this: ``` string sc = e.ExtraParams["sc"].ToString(); MyStok myobj = JSON.Deserialize<MyStok>(sc); ``` My output seems to be like this (`string sc`) on fiddler: ``` [ { "STId": 2, "CA": "hbh", "Br": "jhnj", "SM": 20, "Vat": 10, "Price": 566, "BNo": "1545545" } ] ``` But I get the error: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type [...] What is wrong in that code?