Как десериализовать сложный объект?
В моем приложении я добавил несколько массивов в новый объект массива, а затем разместил данные через AJAX. В myHandler я хочу десериализовать данные в массивы. Но я получил неудачу в десериализации. Если вы знаете, как десериализовать такую цель, я буду признателен, если вы поделитесь своими знаниями.
var arrays = new Array(); arrays.push(ar1); // ar1 - Array arrays.push(ar2); // ar2 - Array but different from ar1 in dimension arrays.push(ar3); // ar3 - Array, also different in dimension $.ajax({ async: true, contentType: 'application/json; charset=utf-8', dataType: 'json', type: "POST", data: { arrays }, url: "myHandler.ashx", success: function (result) { } });
// code in myHandler.ashx public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; var data = context.Request; var sr = new StreamReader(data.InputStream); var stream = sr.ReadToEnd(); var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); vvar obj = javaScriptSerializer.DeserializeObject(stream); // Got error here
Ниже приведено значение потока:
"ar%5B0%5D%5B%5D=8594&ar%5B0%5D%5B%5D=K02R019&ar%5B0%5D%5B%5D=K02&ar%5B0%5D%5B%5D=IB-K-29&ar%5B0%5D%5B%5D=TRACKWAY&ar%5B0%5D%5B%5D=PRIVATE&ar%5B0%5D%5B%5D=BRASS+DISK&ar%5B0%5D%5B%5D=&ar%5B0%5D%5B%5D=38.88722&ar%5B0%5D%5B%5D=-77.09436&ar%5B0%5D%5B%5D=K02&ar%5B1%5D%5B0%5D%5B%5D=5324&ar%5B1%5D%5B0%5D%5B%5D=8594&ar%5B1%5D%5B0%5D%5B%5D=222%2B54.45&ar%5B1%5D%5B0%5D%5B%5D=22254.45&ar%5B1%5D%5B0%5D%5B%5D=INBOUND&ar%5B1%5D%5B0%5D%5B%5D=&ar%5B1%5D%5B0%5D%5B%5D=&ar%5B1%5D%5B0%5D%5B%5D=POT&ar%5B2%5D%5B0%5D%5B%5D=8594&ar%5B2%5D%5B0%5D%5B%5D=8594&ar%5B2%5D%5B0%5D%5B%5D=K02R019&ar%5B2%5D%5B0%5D%5B%5D=&ar%5B2%5D%5B0%5D%5B%5D=SET&ar%5B2%5D%5B0%5D%5B%5D=5%2F30%2F1905&ar%5B2%5D%5B0%5D%5B%5D=DUFF&ar%5B2%5D%5B0%5D%5B%5D=ON+INVERT&ar%5B2%5D%5B1%5D%5B%5D=18059&ar%5B2%5D%5B1%5D%5B%5D=8594&ar%5B2%5D%5B1%5D%5B%5D=K02R019&ar%5B2%5D%5B1%5D%5B%5D=&ar%5B2%5D%5B1%5D%5B%5D=RECNORECORD&ar%5B2%5D%5B1%5D%5B%5D=&ar%5B2%5D%5B1%5D%5B%5D=&ar%5B2%5D%5B1%5D%5B%5D=null&ar%5B3%5D%5B0%5D%5B%5D=15015&ar%5B3%5D%5B0%5D%5B%5D=8594&ar%5B3%5D%5B0%5D%5B%5D=859 4&ar%5B3%5D%5B0%5D%5B%5D=&ar%5B3%5D%5B0%5D%5B%5D=NAD27VAN&ar%5B3%5D%5B0%5D%5B%5D=447504.445&ar%5B3%5D%5B0%5D%5B%5D=2400018.492&ar%5B3%5D%5B0%5D%5B%5D=null&ar%5B3%5D%5B1%5D%5B%5D=30701&ar%5B3%5D%5B1%5D%5B%5D=8594&ar%5B3%5D%5B1%5D%5B%5D=18059&ar%5B3%5D%5B1%5D%5B%5D=PGIS&ar%5B3%5D%5B1%5D%5B%5D=LDPNSRS2007&ar%5B3%5D%5B1%5D%5B%5D=169632.8118&ar%5B3%5D%5B1%5D%5B%5D=182628.1492&ar%5B3%5D%5B1%5D%5B%5D=null"
Что я уже пробовал:
Как десериализовать сложный объект в массивы?
[no name]
Почему после всего этого времени вы все еще думаете, что люди на полпути по всему миру могут читать ваши мысли или видеть ваш экран?
Richard Deeming
Нажмите кнопку "улучшить вопрос" и добавьте блок кода, содержащий JSON, который вы пытаетесь десериализовать, и полное сообщение об ошибке, которое вы получаете.