Чтение данных Json - PullRequest
       3

Чтение данных Json

0 голосов
/ 24 февраля 2012

У меня есть метод действия MVC, из которого я возвращаю данные, как на изображении ниже.

Метод действия

[HttpPost]
public JsonResult LegalCheck(string jsonPackage)
{
    var serializer = new JavaScriptSerializer();
    var comments = serializer.Deserialize<Dictionary<string, string>>(jsonPackage.Substring(jsonPackage.IndexOf('{'), jsonPackage.LastIndexOf('}')));
    var results = MyService.GetViolations(comments, CookieManager.ClientId);
    return Json(results);
}

enter image description here

результаты сохраняютсяидентификаторы текстовой области (CommentTextarea-1181_1183 и т. д.) и необходимые данные для этого.Как я могу зациклить результаты?results.length, results [0] отображается как неопределенное.Можно ли выполнить циклический просмотр этих данных Json или придется изменить данные JSON, которые возвращаются?

Данные для метода действия такие, как показано ниже

results
Count = 2
    [0]: {[CommentTextarea_1181_1183, Mynamespace.Services.Legal[]]}
    [1]: {[CommentTextarea_1181_1184, Mynamespace.Services.Legal[]]}

]}

Юридический класс, как показано ниже

 [Serializable]
    public class Legal
    {
        public string Phrase { get; set; }
        public int StartIndex { get; set; }
    }

Спасибо

1 Ответ

0 голосов
/ 24 февраля 2012

Похоже, что метод MyService.GetViolations возвращает Dictionary<string, Legal[]>.JavaScriptSerializer, который используется ASP.NET MVC 3 для сериализации вашего ответа JSON, не генерирует массив javascript при сериализации словаря.Он генерирует объект JavaScript.Таким образом, вы не можете выполнить цикл, потому что индексы в этом объекте не являются целыми числами на основе 0.

Таким образом, для цикла вы можете перечислить все свойства, определенные для объекта:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...