解析JSON数据并检查数组是否为空

时间:2014-07-19 10:36:12

标签: javascript json

我正在尝试从JSON对象获取一个数组,并检查它是否为空,但它给了我一些问题。 HTML:

<p id="r"></p>

JS:

var r = document.getElementById('r');

var obj = {
    "_id": "4345356",
    "title": "sdfsf",
    "data": []
};

obj = JSON.parse(obj);

function isEmpty(a) {
    if (typeof a === 'undefined' || a.length == 0)
        return true;

    return false;
}

r.innerHTML = isEmpty(obj.data);

Fiddle。我错过了什么?谢谢!

3 个答案:

答案 0 :(得分:3)

您不必解析obj。它已经是一个对象了。

删除此行

obj = JSON.parse(obj);

答案 1 :(得分:1)

正如其他人所建议的那样,你似乎并不需要什么

obj = JSON.parse(obj);

最后,检查数组的空虚很容易,在这种情况下,请执行以下操作:

r.innerHTML = !obj.data.length;

r.innerHTML = obj.data.length === 0;

但是如果你真的需要为此目的定义一个函数,那么下面就足够了:

function isEmpty(a) {
    return a && !a.length;
}

答案 2 :(得分:0)

你不需要这一行:obj = JSON.parse(obj);我已经更新了小提琴。