解析JSON子元素的问题

时间:2013-08-09 09:55:23

标签: javascript jquery json

这是我的JSON字符串

    "book_types": {
        "type": "1",
        "books": [
            {
                "name": "default",
                "cover": null,
                "lastUpdated": {
                    "microsecond": 114250,
                    "ctime": "Fri Aug  9 01:27:45 2013"
                },
                "cat": 0,
                "other_thumbs": [],
                "book_type": 1,
                "thumbs": [],
                "id": "8001",
                "bk_follow_uids": [],
                "desc": "default",
                "bk_update_uids": [],
                "uid": 6001,
                "no": 1
            }
        ]
    }
}

这是有效的。当我致电toJSON(jsonStr)时,它会返回

  

对象{book_types:Object}   book_types:对象   书籍:数组[1]

这是toJSON功能:

function toJSON(jobj) {
   obj = JSON && JSON.parse(jobj) || $.parseJSON(jobj);
   return(obj);
}

有人可以告诉我为什么book_types嵌套在book_types中。

如果它是微不足道的话,我会道歉,但我无法弄清楚原因。

提前致谢

1 个答案:

答案 0 :(得分:5)

因为书籍类型 嵌套在您的对象中。

如果你看一下这个较小的例子:

{
    "book_types": {
        "type": "1"
     }
}

您有一个包含成员的对象,该成员是一个名为book_types的对象,它包含一个成员,该成员是一个值为"1"的字符串。

就像{}是一个对象一样。这就是json syntax的工作原理:

首先点击object

enter image description here

这是返回值,就像你看到的那样。然后在该对象内部命中字符串book_types,它的值就是一个对象本身。