我有一个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'
}
]
}
},
答案 0 :(得分: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.
}
}
答案 1 :(得分:1)
使用:jQuery.parseJSON( json ) - 获取格式正确的JSON字符串并返回生成的JavaScript对象。 示例
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );