Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将普通json数据转换为Google Visualization DataTable能够理解的数据?_Javascript_Json_Google Visualization - Fatal编程技术网

Javascript 将普通json数据转换为Google Visualization DataTable能够理解的数据?

Javascript 将普通json数据转换为Google Visualization DataTable能够理解的数据?,javascript,json,google-visualization,Javascript,Json,Google Visualization,我刚开始使用谷歌图表和它非常酷的东西。唯一的问题是,我找不到任何好的例子来使用sql server视图提供的数据来实现这一点。所以我创建了一个示例项目来促进这个功能,不管我如何努力让它工作。请在下面找到我的代码: <script type="text/javascript"> // Load the Visualization API and the piechart package. google.load('visualization', '1',

我刚开始使用谷歌图表和它非常酷的东西。唯一的问题是,我找不到任何好的例子来使用sql server视图提供的数据来实现这一点。所以我创建了一个示例项目来促进这个功能,不管我如何努力让它工作。请在下面找到我的代码:

<script type="text/javascript">
        // Load the Visualization API and the piechart package.
        google.load('visualization', '1', { 'packages': ['corechart'] });

        // Set a callback to run when the Google Visualization API is loaded.
        google.setOnLoadCallback(drawChart);

        function drawChart() {
            var jsonData = $.ajax({
                url: "api/Google",
                dataType: "json",
                async: false
            }).responseText;

            alert(jsonData);
            // Create our data table out of JSON data loaded from server.
            var data = new google.visualization.DataTable(jsonData);

            data.addColumn('string', 'Employee');
            data.addColumn('number', 'TotalNoOfReports');

            // Instantiate and draw our chart, passing in some options.
            var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
            chart.draw(data, { width: 400, height: 240 });
        }

    </script>

有没有一种方法可以让我的jsonData看起来像上面的结构,可能是更通用的。唯一的图表示例是静态的,有时您需要读取数据库,请协助。

我在这方面的知识非常有限,但是如果您首先将json数据转换为可读的数据,然后执行循环以添加行,会怎么样?比如:

var jsondata = eval ("(" + JSONObject + ")");
然后

for(var key in jsondata) {

    data.addRows (row);

我知道这是一个非常有限且简短的答案,但也许其他人会有更好的解决方案。

我在这方面的知识非常有限,但如果您首先将json数据转换为可读的数据,然后执行循环以添加行,会怎么样?比如:

var jsondata = eval ("(" + JSONObject + ")");
然后

for(var key in jsondata) {

    data.addRows (row);

我知道这是一个非常有限且简短的答案,但也许其他人会有更好的解决方案。

响应格式略有不同,您只粘贴了dataTable部分,但它还包含状态代码、请求Id和api版本:

{version:'0.6',reqId:'0',status:'ok',sig:'5982206968295329967',table:{cols:[{id:'Col1',label:'',type:'number'},{id:'Col2',label:'',type:'number'},{id:'Col3',label:'',type:'number'}],rows:[{c:[{v:1.0,f:'1'},{v:2.0,f:'2'},{v:3.0,f:'3'}]},{c:[{v:2.0,f:'2'},{v:3.0,f:'3'},{v:4.0,f:'4'}]},{c:[{v:3.0,f:'3'},{v:4.0,f:'4'},{v:5.0,f:'5'}]},{c:[{v:1.0,f:'1'},{v:2.0,f:'2'},{v:3.0,f:'3'}]}]}};
您可以在此处阅读更多信息:


响应格式略有不同,您只粘贴了dataTable部分,但它还包含状态代码、请求Id和api版本:

{version:'0.6',reqId:'0',status:'ok',sig:'5982206968295329967',table:{cols:[{id:'Col1',label:'',type:'number'},{id:'Col2',label:'',type:'number'},{id:'Col3',label:'',type:'number'}],rows:[{c:[{v:1.0,f:'1'},{v:2.0,f:'2'},{v:3.0,f:'3'}]},{c:[{v:2.0,f:'2'},{v:3.0,f:'3'},{v:4.0,f:'4'}]},{c:[{v:3.0,f:'3'},{v:4.0,f:'4'},{v:5.0,f:'5'}]},{c:[{v:1.0,f:'1'},{v:2.0,f:'2'},{v:3.0,f:'3'}]}]}};
您可以在此处阅读更多信息:


添加一条语句来解析json字符串,如

var obj = $.parseJSON(jsonData); 
并将解析后的对象传递给GoogleDataTable

var data = new google.visualization.DataTable(obj);

添加一条语句来解析json字符串,如

var obj = $.parseJSON(jsonData); 
并将解析后的对象传递给GoogleDataTable

var data = new google.visualization.DataTable(obj);