0
Нашего запрос GET возвращает следующий ответ:AngularJS не разбор нашего JSON свойства массива
{
"access_token": "pi7ID4bsZIC9yN ... 76gnblw",
"token_type": "bearer",
"expires_in": 1209599,
"userName": "super0",
"userRoles": "["member", "admin"]",
".issued": "Tue, 04 Feb 2014 05:07:51 GMT",
".expires": "Tue, 18 Feb 2014 05:07:51 GMT"
}
Проблема заключается в том, что AngularJS разбирает его в следующем объект.
data: Object
.expires: "Tue, 18 Feb 2014 05:07:51 GMT"
.issued: "Tue, 04 Feb 2014 05:07:51 GMT"
access_token: "pi7ID4bsZIC9yN ... 76gnblw"
expires_in: 1209599
token_type: "bearer"
userName: "super0"
userRoles: "["member", "admin"]"
__proto__: Object
Нам нужно «userRoles», чтобы проанализировать массив JavaScript, а не строку, как показано. Как мы можем это сделать?
Aha. В этом есть смысл. Проблема в том, что я не могу вернуть неупорядоченный массив, потому что C# создает ответ JSON GET из словаря. Значение свойства JSON должно быть строкой, и я не знаю, как включать квадратные скобки вне данных кавычек .Add («userRoles», «['admin', 'member']"); ' –
Можете ли вы сделать что вместо словаря "значение ключа userRoles может быть Array (или IEnumerable какого-то рода)? Затем он должен правильно сериализоваться. –
Я мог бы попробовать это, но я не решаюсь. Конструктор AuthenticationProperties() ASP.NET Identity использует словарь. Реализация нашего собственного класса AuthenticationProperties может сделать трюк. Это потребует некоторой работы. Хм. –