Отобразить JSON-ответ от контроллера для просмотра - PullRequest
0 голосов
/ 03 января 2019

Я работаю в приложениях веб-сервисов, которые уже существуют. Я получаю ниже отклик и сохраняю отклик в результате в контроллере. Мне нужно показать это как формат таблицы, такой как Код состояния, Параметры и отклик. Как получить отклик json просмотреть как таблицу в рельсах?

"{\" statusCode \ ": 200, \" parameters \ ": [{\" name \ ": \" Device.Description \ ", \" value \ ": \" Gateway Device \ ", \" DATATYPE \ ": 0, \" parameterCount \ ": 1, \" сообщение \ ": \" Успех \ "}]}"

   respond_to do |format|
    format.json { render :json => result }
  end

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Существует множество лучших вариантов использования библиотек js, но если вы хотите просто использовать jquery, вам следует создать таблицу, используя простой HTML (предоставляя идентификатор для tbody).Затем с помощью js создайте строку и объедините ее с каждым необходимым атрибутом, например:

var tr = '<tr><td>';
tr += jsonResponse.firstAttribute;
tr += '</td><td>';
tr += jsonResponse.secondAttribute;
tr += '</td>';
...
$('#you-table-body-id').append(tr);

, тем самым вы объедините этот фрагмент html, содержащий данные, которые вы хотите показывать на своем сайте.

0 голосов
/ 03 января 2019

Ответ, который вы сохраняете в контроллере, имеет строковый формат. Чтобы отобразить его как JSON, сначала необходимо проанализировать его в JSON следующим образом:

JSON.parse("{\"statusCode\":200,\"parameters\":[{\"name\":\"Device.Description\",\"value\":\"Gateway Device\",\"dataType\":0,\"parameterCount\":1,\"message\":\"Success\"}]}")

Это изменит его на:

{"statusCode"=>200, "parameters"=>[{"name"=>"Device.Description", "value"=>"Gateway Device", "dataType"=>0, "parameterCount"=>1, "message"=>"Success"}]}

Вы можете сделать это как json:

respond_to do |format|
  format.json { render json: JSON.parse(result) }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...