JSON回调问题

时间:2013-12-22 15:59:21

标签: javascript ajax json

我是AJAX和JSON的新手,有一段时间我没有任何问题。但现在我正在使用随机用户生成器 - > http://randomuser.me/

问题是,在我收到AJAX请求之后,我得到了JSON对象作为响应,但它不像我正在处理的所有其他对象。这个值有一个我无法在控制台日志中获取的值。

Object {results: Array[1]}
  results: Array[1]
    0: Object
      seed: "b68b37c1b5346af"
      user: Object
        SSN: "152-27-4426"
        cell: "(316)-378-6161"
        email: "angel.watson36@example.com"
        gender: "male"
          location: Object
          city: "the colony"
          state: "georgia"
          street: "4660 w belt line rd"
          zip: "38439"

问题在于,如果我想要获取邮政编码,但是使用了代码,我就会被第二个对象'0'困住。

这是我的代码,用于检索我显示的所有数据

$.ajax({
      url: randomuserURL,
      dataType: 'json',
      success: function(data){
        console.log(data);
      }
 });

但是如果我将控制台日志更改为:

$.ajax({
      url: randomuserURL,
      dataType: 'json',
      success: function(data){
        console.log(data.results.[0]);
      }
});

我收到了一个错误。如果我只是这样做

console.log(data.results.0);

任何人都可以解释我如何处理这个问题吗?

1 个答案:

答案 0 :(得分:2)

不是

console.log(data.results.[0]);

它' S

console.log(data.results[0]);

.[ ]运算符是同一基本概念的两种风格,因此同时使用这两种运算符并不合理。当您试图访问一个“清洁”的房产时,您可以使用#34;清洁"您事先知道的名称(即,在运行时未确定属性名称时),您可以使用.运算符。否则,它是[ ]

在这种情况下,您事先知道属性名称 - 它" 0"。不幸的是," 0"并非有效的标识符名称,因此您无法使用.