Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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电子表格时出错_Javascript_Json_Google Sheets_Google Visualization_Google Spreadsheet Api - Fatal编程技术网

Javascript 将json数据插入Google电子表格时出错

Javascript 将json数据插入Google电子表格时出错,javascript,json,google-sheets,google-visualization,google-spreadsheet-api,Javascript,Json,Google Sheets,Google Visualization,Google Spreadsheet Api,我正在尝试将JSON数据插入谷歌电子表格。这是我的密码 <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> <script> var read=(function(){ data1={ "jobstatus": [ {

我正在尝试将JSON数据插入谷歌电子表格。这是我的密码

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>

<script>
var read=(function(){

data1={
        "jobstatus": [
                      {
                          "dateAndTime": "hi",
                          "jobId": "TCC_tfc",
                          "userId": "admin",
                          "status": "Completed",
                          "jobType": "Excel Upload"
                      }
                  ]
              };
var jobs = data1;
var datae = new google.visualization.DataTable();

datae.addRows(["datetime",jobs.jobstatus.dateAndTime],
          ['jobId', jobs.jobstatus.jobId],
          ['userId', jobs.jobstatus.userId],
          ['status', jobs.jobstatus.status],
          ['jobType', jobs.jobstatus.jobType]
      );});

</script>

var read=(函数(){
数据1={
“工作状态”:[
{
“dateAndTime”:“嗨”,
“jobId”:“TCC\u tfc”,
“用户ID”:“管理员”,
“状态”:“已完成”,
“作业类型”:“Excel上载”
}
]
};
var=data1;
var datae=new google.visualization.DataTable();
datae.addRows([“datetime”,jobs.jobstatus.dateAndTime],
['jobId',jobs.jobstatus.jobId],
['userId',jobs.jobstatus.userId],
['status',jobs.jobstatus.status],
['jobType',jobs.jobstatus.jobType]
);});
当我执行此代码时,我得到的错误如下

TypeError:google.visualization未定义

我如何解决这个错误?我在“所以”中搜索解决方案,他们让我添加这一行:

google.load('visualization','1.0',{'packages':['corechart'],'callback':read})


加上这个,我也会得到同样的错误。有人能帮我解决这个问题吗。

这里有一些建议

1) 建议使用
loader.js
vs.旧库
jsapi

2) 命名
回调
函数,而不是赋值给变量

google.charts.load('current', {
  callback: read,
  packages:['table']
});

function read(){...}
3) 必须在
addRows
之前添加列,使用
arrayToDataTable
可以很容易地实现这一点

var datae = google.visualization.arrayToDataTable([
  ['datetime', 'jobId', 'userId', 'status', 'jobType'],
]);
4) 在
data1
中,“jobstatus”
是一个数组,因此必须使用数组元素索引来访问值

jobs.jobstatus[0].dateAndTime//使用[0]获取第一个数组元素

--或--

如果数组中有多个
jobstatus
,请使用
addRow

jobs.jobstatus.forEach(function (job) {
  datae.addRow([
    job.dateAndTime,
    job.jobId,
    job.userId,
    job.status,
    job.jobType
  ]);
});
请参阅以下工作片段

google.charts.load('current'{
回调:读,
套餐:[“表”]
});
函数read(){
变量数据1={
“工作状态”:[{
“dateAndTime”:“嗨”,
“jobId”:“TCC\u tfc”,
“用户ID”:“管理员”,
“状态”:“已完成”,
“作业类型”:“Excel上载”
}]
};
var=data1;
var datae=google.visualization.arrayToDataTable([
['datetime','jobId','userId','status','jobType'],
]);
jobs.jobstatus.forEach(函数(作业){
datae.addRow([
job.dateAndTime,
job.jobId,
job.userId,
工作状态,
job.jobType
]);
});
var chart=new google.visualization.Table(document.getElementById('chart_div'));
图表绘制(datae);
}

这个问题运气好吗?