Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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在控制台日志中作为[object]返回_Javascript_Jquery_Json - Fatal编程技术网

Javascript JSON在控制台日志中作为[object]返回

Javascript JSON在控制台日志中作为[object]返回,javascript,jquery,json,Javascript,Jquery,Json,从我在这里发布的历史记录可以看出,我有点生疏,但我正在尝试获取JSON对象的键、值,而不是像我想象的那样输出。我做错了什么 (function($){ jQuery(document).ready(function(){ var tableRows = []; var headersText = []; var $headers = $("th"); var $rows = $("#table tbody tr").each

从我在这里发布的历史记录可以看出,我有点生疏,但我正在尝试获取JSON对象的键、值,而不是像我想象的那样输出。我做错了什么

(function($){
    jQuery(document).ready(function(){
        var tableRows = [];
        var headersText = [];
        var $headers = $("th");
        var $rows = $("#table tbody tr").each(function(index) {
          $cells = $(this).find("td");
          tableRows[index] = {};
          $cells.each(function(cellIndex) {
            if(headersText[cellIndex] === undefined) {
              headersText[cellIndex] = $($headers[cellIndex]).text();
            }
            tableRows[index][headersText[cellIndex]] = $(this).text();
          });    
        });
        var tableData = {
            "tableData": tableRows
        };
        /*alert(JSON.stringify(tableData));*/

        $.each([tableData], function(key, value){
            console.log( key + ":" + value );
        });
    });
})(jQuery);
在控制台中,我得到:

0:[object Object]
而不是(示例):


这就是当一个对象变成一个字符串,并连接字符串和对象时,该对象将转换为字符串,对象的字符串表示形式为
[object object]

console.log( key + ":" + value ); // you're concantenating strings and objects
试试这个

console.log( key, value );

作为sitenote,
$。每个
都迭代对象和数组,因此无需将对象包装在数组中,也无需将数组包装在对象中?

这就是将对象转换为字符串,并将字符串和对象连接在一起时,对象将转换为字符串,对象的字符串表示形式是
[object object]

console.log( key + ":" + value ); // you're concantenating strings and objects
试试这个

console.log( key, value );

作为sitenote,
$。每个
都会迭代对象和数组,因此不需要将对象包装在数组中,也不需要将数组包装在对象中?

问题实际上不是console.log,而是您的迭代

我想你的意思是:

 $.each(tableData["tableData"], function(key, value){
      console.log( key, value );
 });
不是


在最初的代码中,您创建了一个由一个元素组成的数组-
[tableData]
,然后对其进行迭代,这实际上没有任何意义。TableData是一个哈希-哈希没有键和值,它有一组键和值。您需要迭代散列。

问题实际上不是console.log,而是您的迭代

我想你的意思是:

 $.each(tableData["tableData"], function(key, value){
      console.log( key, value );
 });
不是


在最初的代码中,您创建了一个由一个元素组成的数组-
[tableData]
,然后对其进行迭代,这实际上没有任何意义。TableData是一个哈希-哈希没有键和值,它有一组键和值。您需要迭代散列。

console.log({key:key,value:value})
这是可行的,现在我如何在这个对象中获得key:NAME的值?您必须知道该键在哪里,并执行类似于
tableData.tableData.path.to.NAME
的操作,或者只是迭代直到找到它?或
console.log({key:key,value:value})
这是可行的,现在我该如何获取该对象中key:NAME的值?您必须知道该key的位置,然后执行类似于
tableData.tableData.path.to.NAME的操作,或者只是迭代直到找到它为止?这是可行的,现在我该如何获取该对象中key:NAME的值?我想您有点困惑在您的数据结构上。您有
var tableData={“tableData”:tableRows};
但是tableRows本身是一个数组。是否有可能您要迭代的是tableData[“tableData”]?是的,正是这样。感谢您帮助我学习:),所以现在我可以控制台.log(键[“NAME”],值)要特别针对这一点吗?很高兴提供帮助:)如果您还有其他问题,请告诉我。这很有效,现在我如何获得该对象中key:NAME的值?我想您对数据结构有点困惑。您有
var tableData={“tableData”:tableRows};
但是tableRows本身就是一个数组。有可能你想迭代的是tableData[“tableData”]吗?是的,就是这样。谢谢你帮助我学习:)所以现在我可以控制台。log(key[“NAME”],value)来专门针对它?很乐意帮助:)如果你还有其他问题,请告诉我。