JSON响应参数

时间:2015-02-11 13:01:37

标签: javascript json

我正在使用它:

function httpGet(theUrl)
{
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

var responseText=httpGet('https://xxxxxxxxxxxxxxxxxxxxxxxxx');

将JSON响应视为休闲:

{
    "response": {
    "status": 1,
    "httpStatus": 200,
    "data": {
      "40": {
        "AccountNote": {
          "id": "40",
          "type": "azx",
          "account_id": "1111",
          "created": "2015-02-11 11:12:03",
          "note": "test"
        }
      },
      "42": {
        "AccountNote": {
          "id": "42",
          "type": "azx",
          "account_id": "1111",
          "created": "2015-02-11 11:27:56",
          "note": "zzzzzzz"
        }
      }
    },
    "errors": [],
    "errorMessage": null
  }
}

我想获取所有音符参数的值。 我知道我可以用这个来做到这一点:

var obj=JSON.parse(responseText);
console.log(obj.response.data[40].AccountNote.note+' '+obj.response.data[42].AccountNote.note);

我不知道response.data中有多少数据。我也不知道他们的名字(在这些例子'40'和'42)。 所以我尝试过这样的事情:

var text='';
for(var i=0;i<obj.response.data.length;i++)
    text+=obj.response.data[i].AccountNote.note;

但这当然不起作用。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:-1)

您可以使用for循环迭代它们,如下所示:

var text='';
for(var i in obj.response.data)
{
    text += obj.response.data[i].AccountNote.note;
}

变量i是数组obj.response.data中元素的索引,因此您不必再担心随机索引。