1

我有一个 2 MB JSON 对象,我希望用 jQuery 解析它。我将整个对象转储到一个名为“timeline.js”的文件中,我希望将其作为数据集进行解析,以根据需要获取记录。

我的数据集最初是一个 XML 文件,但我读到 JSON 会更有效,因为我使用 jQuery 来提取数据并将其放置在 DOM 中。

下面是我的对象的第一条记录。我将如何解析此对象以获取“profileid”为 1016 的记录?

{
timeline:{
    record:[
        {
            profileid:1016,
            title:'Adam',
            parentprofileid:0,
            type:'Person',
            minzoomlevel:29,
            maxzoomlevel:66,
            isapproxstart:1,
            isapproxend:1,
            startdate:-4181,
            enddate:-3251,
            shortdescription:'Name means "red" or "man" he is...',
            article:'<div><span>The first member of...',
            status:22,
            scriptures:{
                scripture:[
                    {
                        profileid:1016,
                        scripturetext:'Genesis 2:7',
                        referencetext:'Birth'
                    },
                    {
                        profileid:1016,
                        scripturetext:'Genesis 5:4',
                        referencetext:'Death'
                    }
                ]
            }
        },
4

2 回答 2

5

jQuery parseJSON 工作正常,但是在使用 jQuery AJAX 并将 dataType 设置为 JSON 时是不必要的(它在接收到数据后已经被 jQuery 解析)。

但是,我想您的实际问题是如何找到 profileid 为 1016 的记录。由于所有项目都在一个数组中,找到它的唯一方法是循环数组并检查为当前项目设置的 profileId . 例如:

for(var i in items){
    if(items[i].profileid == 1016){
       //execute whatever you want to do.
    }
}
于 2012-06-01T19:11:52.620 回答
1

使用:jQuery.parseJSON( json ) - 采用格式良好的 JSON 字符串并返回结果 JavaScript 对象。例子

var obj = jQuery.parseJSON('{"name":"John"}');
 alert( obj.name === "John" );
于 2012-06-01T18:55:42.507 回答