我正在使用已经存在的Web服务应用程序。我正在响应以下并在控制器中将响应保存在结果中。我需要将此显示为表格格式,例如状态代码,参数和响应。如何带来json响应以表格形式在导轨中查看?
“ {\” statusCode \“:200,\” parameters \“:[{\” name \“:\” Device.Description \“,\” value \“:\” Gateway Device \“,\” dataType \“:0,\” parameterCount \“:1,\” message \“:\” Success \“}}}”“
respond_to do |format|
format.json { render :json => result }
end
答案 0 :(得分:0)
要保存在控制器中的响应为字符串格式。要将其呈现为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
答案 1 :(得分:0)
使用js库有很多更好的选择,但是如果您只想使用jquery,则应该使用纯HTML创建表(为tbody提供ID)。然后使用js创建一个字符串,并将其与所需的每个属性连接起来,例如:
var tr = '<tr><td>';
tr += jsonResponse.firstAttribute;
tr += '</td><td>';
tr += jsonResponse.secondAttribute;
tr += '</td>';
...
$('#you-table-body-id').append(tr);
这样做,您将连接包含您要在网站中展示的数据的html块。