9

我有一个 JSON 对象,它没有给定三个值的键(每个都是一个数组),我想解析它们。我怎么能在 JQuery 中做到这一点?

[
    {
        "cid": "3",
        "pid": "0",
        "nid": "12",
        "uid": "4",
        "subject": "test2",
        "hostname": "127.0.0.1",
        "created": "1374084646",
        "changed": "1374084645",
        "status": "1",
        "thread": "02/",
        "name": "chrisr",
        "mail": "",
        "homepage": "",
        "language": "en",
        "uuid": "e4729a69-7f6f-4091-98a0-0a040fe683f1",
    },
    {
        "cid": "2",
        "pid": "0",
        "nid": "13",
        "uid": "4",
        "subject": "TEST comment 2",
        "hostname": "127.0.0.1",
        "created": "1374072245",
        "changed": "1374072244",
        "status": "1",
        "thread": "01/",
        "name": "chrisr",
        "mail": "",
        "homepage": "",
        "language": "en",
        "uuid": "b4d5a084-8aa3-4828-b6e4-17396cbaf2f6",
    },
    {
        "cid": "1",
        "pid": "0",
        "nid": "12",
        "uid": "4",
        "subject": "test comment",
        "hostname": "127.0.0.1",
        "created": "1374072176",
        "changed": "1374072175",
        "status": "1",
        "thread": "01/",
        "name": "chrisr",
        "mail": "",
        "homepage": "",
        "language": "en",
        "uuid": "7ade4906-7d6e-4cad-9f97-7f43eadea731",
    }
]
4

2 回答 2

6

您的 JSON 无效。

一旦你创建了一个有效的 JSON 字符串,解析它就非常简单。

使用以下步骤:

  1. 删除每个对象的最后一个属性后的逗号
  2. 删除换行符
  3. 将 JSON 文本用单引号括起来
  4. 调用jQuery.parseJSON()文本

这是一个工作小提琴

它做这样的事情:

var jsonText = '[ { "cid": "3", "pid": "0", "nid"...} ]';
var jo = $.parseJSON(jsonText);
于 2013-07-17T18:58:00.927 回答
3

如果您有字符串形式的 JSON,您可以使用JSON.parse[MDN]以对象形式获取它,然后根据需要使用它。

现代浏览器本机具有此功能 - 不需要 jQuery - 但您也可以自己从以下位置之一包含它:

如需更完整的列表,请参阅JSON.org

于 2013-07-17T18:45:31.723 回答