2013-09-19 13 views
0

Я создаю приложение на основе другого аналогичного приложения. Я использую firebug, чтобы попытаться получить тот же ответ/JSON.Получить массив объектов JSON

В рабочем приложении вкладка «Response» говорит: enter image description here

и на вкладке «JSON» показывает несколько JSON объектов с соответствующими свойствами: enter image description here

В разбитом приложении на вкладке «Ответ» говорит: enter image description here
(Он положил ключ «D» вокруг данных и убежали все двойные кавычки)

и «JSON» т аб просто показывает один объект D, который содержит строку данных: enter image description here

Метод, который призван вернуть «сломанный» ответ JSON является:

public static string GetMembers() 
    { 
     Member member1 = new Member(); 
     member1.Id = 1; 
     member1.FirstName = "John"; 
     member1.LastName = "Smith"; 

     Member member2 = new Member(); 
     member2.Id = 2; 
     member2.FirstName = "Bruce"; 
     member2.LastName = "Banner"; 

     List<Member> members = new List<Member>(); 
     members.Add(member1); 
     members.Add(member2); 

     return new JavaScriptSerializer().Serialize(members); 
    } 

Что я могу сделать, чтобы мой метод чтобы он возвращал/отображал данные JSON так же, как и первое приложение?

Примечание У меня нет источника первого приложения, я просто смотрю на страницу, которую он загружает в firebug.

ответ

0

Приложение помещает данные вокруг данных, поскольку существует уязвимость системы безопасности от передачи массива непосредственно клиенту. См. Это resource for more information о том, почему. Вот почему это делает инфраструктура приложения. Я думаю, что многие другие сериализаторы требуют того же ...

Ваша единственная альтернатива - сериализовать каждый объект и вручную выписать массив объектов. Но опять же, остерегайтесь этой уязвимости.

Смежные вопросы