我有一堂这样的课:
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; }
}
我这样反序列化:
string sc = e.ExtraParams["sc"].ToString();
MyStok myobj = JSON.Deserialize<MyStok>(sc);
我的输出似乎是这样的(string sc
)在小提琴手上:
[
{
"STId": 2,
"CA": "hbh",
"Br": "jhnj",
"SM": 20,
"Vat": 10,
"Price": 566,
"BNo": "1545545"
}
]
但我收到错误:
无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型
[...]
该代码有什么问题?
看起来该字符串包含一个带有单个的数组MyStok
其中的对象。如果从输入两端删除方括号,您应该能够将数据反序列化为单个对象:
MyStok myobj = JSON.Deserialize<MyStok>(sc.Substring(1, sc.Length-2));
您还可以将数组反序列化为列表MyStok
对象,并获取索引零处的对象。
var myobjList = JSON.Deserialize<List<MyStok>>(sc);
var myObj = myobjList[0];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)