我一直在阅读有关反序列化json的线程,并尝试了很多方法来实现它,但似乎无法完成此工作。 这是我到目前为止已经完成:类型System.String不受数组支持
类
public class oVesselMovement : oVMLocation, IWPConditions, IVessel, IStatus
{
public int wpID { get; set; }
public string charts { get; set; }
public string latNS { get; set; }
public string longEW { get; set; }
public string course { get; set; }
public double toNextWPNM { get; set; }
public double toGoNM { get; set; }
public string eda { get; set; }
public string eta { get; set; }
}
根类
public class RootVM
{
public List<oVesselMovement> jsnObj { get; set; }
}
JSON
{"jsnObj":[{"vmID":"1","charts":"2111","latNS":"10°29.10 N","longEW":"123°25.83 E","course":"420°","toNextWPNM":0,"toGoNM":"27","eda":"12-15-2016","eta":"11:01"},{"vmID":"2","charts":"2211","latNS":"11°29.10 N","longEW":"124°25.83 E","course":"420°","toNextWPNM":0,"toGoNM":"27","eda":"12-15-2016","eta":"11:01"}]}
反序列化
[WebMethod]
public void saveVMDT(string jsnObj)
{
RootVM rootObj = new JavaScriptSerializer().Deserialize<RootVM>(jsnObj);
foreach (var obj in rootObj.jsnObj)
{
try
{
...
}
我也试着转换List<oVesselMovement> jsnObj { get; set; }
到 oVesselMovement[] jsnObj
但无济于事。
我不断收到此错误:
"{"Message":"Type \u0027System.String\u0027 is not supported for deserialization of an array."....
任何帮助,将不胜感激。
请尝试[this](http://stackoverflow.com/a/25654220/5588347)。 –
使用Json.net。我试过它的代码它的作品 – esiprogrammer