JSON,数组和对象调用

时间:2012-03-30 12:32:45

标签: javascript jquery arrays json

我需要json文件和其他数组的帮助。我希望在我的数组中推送对象,然后提醒某些对象的值......

var jsonOriginal = new Array('http://192.168.1.101:8080/mbx/labResults.json');
var jsonDisplay = new Array();

function grid ()  {
    $.getJSON(jsonOriginal, function(data) {
         jsonLength = data.length;
         jsonDisplay.push(data);
    });
alert(jsonDisplay[0].someone.name);

json的例子:

[{"someone":{"name":"Ljubica Lulik","number":"523011571"}, {"someone":{"name":"Lubi Lulik","number":"523012341"}]

2 个答案:

答案 0 :(得分:3)

push将单个值压入数组。如果你想拥有第一个数组的元素+第二个数组的元素,你必须使用concat

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/concat

答案 1 :(得分:1)

您提供的数组不是字符串作为$ .getJSON的URL。 URL必须是一个字符串。目前尚不清楚为什么你有一个数组中的URL

AJAX是异步的,因此当您尝试提醒数据时ajax尚未完成。要访问数据,您需要在ajax

的成功回调中执行此操作

然后,您对数据的提醒需要为someone

编制索引
function grid ()  {
    /* get url from array*/
    var url=jsonOriginal[0];

    $.getJSON(url, function(data) {
         jsonLength = data.length;
         jsonDisplay.push(data);
         /* need to fix your json to be valid then can access jsonDisplay[0] here*/

    }); 

         /* can't access new data here...ajax has not completed yet*/

}

修改
仔细观察JSON是不是在jsonlint.com验证。它的结构也不是很友好