1

jQueryで解析したいと思っている2MBのJSONオブジェクトがあります。オブジェクト全体を「timeline.js」という名前のファイルにダンプし、必要に応じてレコードを取得するためのデータセットとしてオブジェクトを解析したいと考えています。

私のデータセットはXMLファイルとして開始されましたが、jQueryを使用してデータをプルしてDOMに配置しているため、JSONの方が効率的であると読みました。

以下は私のオブジェクトの最初のレコードです。このオブジェクトを解析して、「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によって既に解析されています)。

ただし、実際の質問は、たとえば1016のprofileidを持つレコードを見つける方法だと思います。すべてのアイテムが配列内にあるため、それを見つける唯一の方法は、配列をループして、現在のアイテムに設定されている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 に答える