У меня есть проект, где мне нужно иметь два отдельных списка JSON, что означает, что я не могу использовать JsonResult в контроллере, поэтому мне нужно разобрать клиентскую сторону. Я использую следующее разобрать мой список для Json, а затем отправить строку на мой взгляд, модели из Newtonsoft.Json пакета:Пытается разобрать данные модели у JSON в MVC3
Model.JsonAllActiveItems = JsonConvert.SerializeObject(Model.AllActiveItems,Formatting.None);
Тогда в моем файле сценария говорят:
function setActiveList(list) {
alert(list)//for test
activeList = JSON.parse(list);
};
я получаю ошибку «Uncaught SyntaxError: Неожиданный маркер о» после команды синтаксического анализа
JSON Строка выглядит следующим образом, если это помогает на всех:
[{"ProductCompositions":[],"ImageName":"Item1","Version":0,"StatusInt":0,"Status":0,"Id":1},{"ProductCompositions":[],"ImageName":"Item2","Version":0,"StatusInt":1,"Status":0,"Id":2},{"ProductCompositions":[],"ImageName":"Item3","Version":0,"StatusInt":1,"Status":0,"Id":4},{"ProductCompositions":[],"ImageName":"Item2","Version":0,"StatusInt":0,"Status":0,"Id":5},{"ProductCompositions":[],"ImageName":"Item4","Version":0,"StatusInt":0,"Status":0,"Id":6},{"ProductCompositions":[],"ImageName":"Item4","Version":0,"StatusInt":0,"Status":0,"Id":7}]
Любые идеи? Приветствия
UPDATE: Что странно, что в отладчик JavaScript Chrome, «список» правильно заполнен правильными данными даже перед командой синтаксического анализа. Однако, когда я пытаюсь проверить это без использования JSON.parse() следующим образом я получаю пустую строку как список является пустым:
var myString = "";
for (var i = 0; i < list.length; i++) {
myString += "<li>" + list[i].ImageName + "</li>";
}
document.getElementById("selected-items-comp").innerHtml = myString;
Вы должны предоставить более подробную информацию. показать нам свой код –
Опубликовать JSON, который вы получаете, так как это вызывает ошибку. – Styxxy
Похоже, у вас проблема с кодировкой JSON - у меня было это раньше, но я не могу на всю жизнь помнить, что это было! :( –