来自JSON的引导数据表没有数组

时间:2016-09-09 21:01:39

标签: json twitter-bootstrap

我一直在研究使用bootstrap表设计我的UI。我的简单HTML利用引导表功能来呈现来自REST服务的响应。只要我的REST服务以对象列表作为JSON数组作出响应,一切看起来都很好。 我的问题:如果响应JSON只包含一个元素,我如何使用bootstrap表。

有效的示例响应JSON:

{
 "parent":
          [{
           "id":1,
           "name":"some_name",
           "city":"some_city"
          }]
}

我正在努力展示的示例JSON响应:

{
 "parent":
          {
           "id":1,
           "name":"some_name",
           "city":"some_city"
          }
}

我尝试了一种解决方法,通过使用以下命令在JSON响应中附加数组括号来解决此问题:

function responseHandler(res) {  //this function is called from table element       
    return JSON.parse("["+JSON.stringify(res.parent)+"]");                      
}

然而,我并不喜欢这个解决方案,因为它看起来像没有系统的方法使工作。

根据我的研究,我非常确信bootstrap表需要JSON数组格式的JSON数据。我已经进行了一些测试,这证实了这个发现。 我想知道如何使用" data-url"等引导表功能显示单个元素JSON响应。和#34;数据响应处理程序"。

我的HTML看起来像:

<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Template</title>           
<script src="bootstrap-table-master/docs/assets/js/jquery.min.js"></script>
<script src="bootstrap-table-master/docs/assets/bootstrap/bootstrap.min.js">   
</script>
<script src="bootstrap-table-master/dist/bootstrap-table.js"></script>
<link rel="stylesheet" href="bootstrap-table-master/docs/assets/bootstrap/css/bootstrap.css">   
<link rel="stylesheet" href="bootstrap-table-master/docs/assetsbootstrap/css/bootstrap-min.css">
<link rel="stylesheet" href="bootstrap-table-master/dist/bootstrap-table.css">
<script>    
function responseHandler(res) {         
    return JSON.parse("["+JSON.stringify(res.parent)+"]");                      
}

</script>
</head>
<body>
<h1>Bootstrap Table</h1>
    <table id="table" data-toggle="table" data-url="mydata.json" data-height="699" data-response-handler="responseHandler">      
        <thead>
            <tr>                
                <th data-field="id">ID</th>                 
                <th data-field="name">Name</th>                 
                <th data-field="city">City</th>
            </tr>
        </thead> 
    </table>        
</body>
</html>

0 个答案:

没有答案