Передача массива в JAVAScript из контроллера c # - PullRequest
0 голосов
/ 04 апреля 2019

Я строю список объектов в c # и возвращаю его как return Json(thisVar) из моего контроллера как public async Task<JsonResult> Затем в моем CSHTML я получаю следующее:

$.get(url,
      dataObject, 
      function (response) {
         alert(response);
         var allRes = JSON.parse(response);

мое первое оповещение [object Object]

но появляется ошибка:

Uncaught SyntaxError: Неожиданный токен o в JSON в позиции 1

Ответы [ 4 ]

0 голосов
/ 05 апреля 2019

Правильный ответ состоял в том, что это был уже jsoon, поэтому мне нужно было пройти через цикл и просто использовать объект json.Мне пришлось использовать метки в [] для имен полей. Спасибо за все ответы.console.log был особенно полезен

0 голосов
/ 04 апреля 2019

JSON.parse() - конвертировать текст в объект JavaScript, а не наоборот.

Можете ли вы перепроверить свой код? Ответ уже в формате JSON. JSON.stringify поможет вам напечатать его в текст.

например:

`var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');`
0 голосов
/ 04 апреля 2019

Если ваше первое предупреждение показывает объект JS, значит, ваш объект уже проанализирован JSON, и вам не нужно JSON.parse

Сервер, вероятно, возвращает массив, обернутый в объект, например response.thisVar, если вы выполните console.log, вы найдете его

0 голосов
/ 04 апреля 2019

Ваш response уже является объектом - нет необходимости анализировать его.

...
function (response) {
    var arr = response.riskPoint;
    for(var i = 0;i<arr.length;i++){
        // read arr[i];
    }

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