2

这是我的 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:对象} book_types:对象书籍:数组[1]

这是 toJSON 函数:

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

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

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

提前致谢

4

1 回答 1

5

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

如果您看一下这个较小的示例:

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

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

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

首先它击中object

在此处输入图像描述

这是返回值,如您所见的对象。然后在那个对象里面,它碰到了字符串book_types,它的值就是一个对象本身。

于 2013-08-09T09:59:34.023 回答