Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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对象吗?_Javascript_Json_Node.js - Fatal编程技术网

为什么可以';我在JavaScript中通过键访问JSON对象吗?

为什么可以';我在JavaScript中通过键访问JSON对象吗?,javascript,json,node.js,Javascript,Json,Node.js,这是我的JSON对象: { text: 'stuff', user: 'user1 } 当我运行jsonObj的类型时,我得到对象。当我运行一个jsonOb.length时,我得到的是未定义的。当我试图通过console.log(jsonObj.text)访问text属性时,我没有定义 那么我怎样才能正确地访问JavaScript中的所有内容呢 我不想使用jQuery,因为这都是node.js编程,所以它是服务器端的 更新了-完整的JSON { text: '@junk_666 おかえりか

这是我的JSON对象:

{ text: 'stuff',
  user: 'user1
}
当我运行jsonObj的
类型时,我得到
对象
。当我运行一个
jsonOb.length
时,我得到的是未定义的。当我试图通过
console.log(jsonObj.text)
访问
text
属性时,我没有定义

那么我怎样才能正确地访问JavaScript中的所有内容呢

我不想使用jQuery,因为这都是
node.js
编程,所以它是服务器端的

更新了-完整的JSON

{ text: '@junk_666 おかえりか',
  user: 
   { display_name: 'mono',
     screen_name: 'monochrm',
     klout_score: null,
     location_str: '画面の前',
     utc_offset: '32400' },
  venue_id: 1304409836517,
  match_type: 'twitter',
  tweet_id: '116494264137023489',
  created_at_unix: 1316609371,
  meta: 
   { matchedPhrase: 'junk',
     venueName: 'deletemepls really long name' },
  tags: [ '' ],
  indexed_at_unix: 1316609416 }
试试这个:

{ text: 'stuff',
  user: 'user1'
}
你省略了一个撇号


现在您已经发布了完整的JS代码(正如@josnidhin指出的,这不是JSON)。。。在JSFIDLE中工作良好。我认为JS对象没有.length,只有数组。

试试这个:

{ text: 'stuff',
  user: 'user1'
}
你省略了一个撇号


现在您已经发布了完整的JS代码(正如@josnidhin指出的,这不是JSON)。。。在JSFIDLE中工作良好。我认为JS对象没有.length,只有数组。

json似乎无效

{
    "text": "stuff",
    "user": "user1"
}

json似乎无效

{
    "text": "stuff",
    "user": "user1"
}

我将您的对象复制并粘贴到FireBug控制台中,它识别出了它

如果需要计算键/值对的数量,可以使用如下函数:

function numMembers(o) {
    var i=0;
    for (a in o) {
        i++;
    }
    return i;
}

您应该能够通过jsonObj.text访问text属性的值。您确定jsonObj正在引用您的对象吗?此外,如果您创建了简单对象(如其他帖子中提到的对象),是否可以访问这些对象的值?此外,如果您只使用ASCII字符,是否有任何功能可用?由于某些原因,它可能无法正确处理某些非拉丁字符。

我将您的对象复制并粘贴到FireBug控制台中,它识别出了它

如果需要计算键/值对的数量,可以使用如下函数:

function numMembers(o) {
    var i=0;
    for (a in o) {
        i++;
    }
    return i;
}

您应该能够通过jsonObj.text访问text属性的值。您确定jsonObj正在引用您的对象吗?此外,如果您创建了简单对象(如其他帖子中提到的对象),是否可以访问这些对象的值?此外,如果您只使用ASCII字符,是否有任何功能可用?由于某些原因,它可能无法正确处理某些非拉丁字符。

首先,您拥有的不是JSON,因为JSON要求属性名用双引号括起来。不过,它是一个有效的JavaScript对象文本,所以我假设您就是这样使用它的

其次,JavaScript对象通常没有
length
属性。数组可以


对象文本没有问题,因此代码中的其他地方肯定有其他问题。

首先,您没有JSON,因为JSON要求属性名用双引号括起来。不过,它是一个有效的JavaScript对象文本,所以我假设您就是这样使用它的

其次,JavaScript对象通常没有
length
属性。数组可以


对象文字没有问题,因此代码中的其他地方肯定存在其他问题。

显示用于创建对象的代码。该对象是从非JSON的Mongoose DB Reader创建的。JSON要求属性名用双引号括起来。显示用于创建该对象的代码。该对象是从非JSON的Mongoose DB中创建的。JSON要求属性名用双引号括起来。这是无效的JSON,但完全有效的JavaScript,
node.js
可以使用(一旦他添加撇号)。在node.js代码中可以,但JSON.parse()将抛出错误,除非它是严格有效的JSON。当然,但由于它是
node.js
代码,我怀疑他实际上并不打算写JSON,只是一个没有N:-)的JSO。两者似乎经常混淆。这是无效的JSON,但完全有效的JavaScript,
node.js
可以使用(一旦他添加撇号)。在node.js代码中可以使用,但JSON.parse()将抛出错误,除非它是严格有效的JSON。当然,但由于它是
node.js
代码,我怀疑他实际上并不打算写JSON,只是一个没有N:-)的JSO。这两者似乎经常混淆。现在您已经发布了完整的JS代码(这不是JSON,正如@josnidhin所指出的)。。。在JSFIDLE中工作良好。我不相信JS对象有.length,只有数组。现在您已经发布了完整的JS代码(正如@josnidhin指出的,这不是JSON)。。。在JSFIDLE中工作良好。我认为JS对象没有.length,只有数组。