0

サーバーからの応答で JSON を取得しています。

{
    "width": "765",
    "height": "990",
    "srcPath": "http://192.168.5.13:8888/ebook/user_content/_ADMIN_/_MERGED_/1273.pdf",
    "coverPage": "",
    "documents": [
        {
            "index": "1",
            "text": "Archiving Microsoft® Office SharePoint® Server 2007 Data with the Hitachi Content Archive Platform and Hitachi Data Discovery for Microsoft SharePoint",
            "type": "doc",
            "id": "HDS_054227~201106290029",
            "children": [
                {
                    "text": "Page 1",
                    "leaf": "true",
                    "pageLocation": "http://192.168.5.13:8888/ebook/user_content/_ADMIN_/_IMAGES_/HDS_054227~201106290029/image_1.png"
                },
                {
                    "text": "Page 2",
                    "leaf": "true",
                    "pageLocation": "http://192.168.5.13:8888/ebook/user_content/_ADMIN_/_IMAGES_/HDS_054227~201106290029/image_2.png"
                }               

            ]
        },
        {
            "index": "11",
            "text": "Brocade FCoE Enabling Server I/O Consolidation",
            "type": "doc",
            "id": "HDS_053732~201105261741",
            "children": [
                {
                    "text": "Page 1",
                    "leaf": "true",
                    "pageLocation": "http://192.168.5.13:8888/ebook/user_content/_ADMIN_/_IMAGES_/HDS_053732~201105261741/image_1.png"
                },
                {
                    "text": "Page 2",
                    "leaf": "true",
                    "pageLocation": "http://192.168.5.13:8888/ebook/user_content/_ADMIN_/_IMAGES_/HDS_053732~201105261741/image_2.png"
                }
                     ]
        }
    ]
}

そして、子供たちのページロケーションを取得したい。

誰でもこれを行う方法を教えてもらえますか?

こんにちは、これからもインデックスを取得し、その特定の子のページの場所を取得したいと考えています。どうすればそれができるか教えてもらえますか?

また、インデックス配列を取得しているときに、インデックス番号ではなく、私だけを返します。そのために次のコードを使用しています:

  indexes=response.documents.map(function(e){ return e.children.index; }) 

ありがとうございます。それでは、お元気で

4

2 に答える 2

2

すべてのページの場所を単純に取得することに関心がある場合は、 filterを使用して実行できます。

var locations = [];
json.documents.forEach(function(e,i) {
    e.children.forEach(function(e2,i2) {
        locations.push(e2.pageLocation);
    )}
});
// returns flat array like [item1,item2,item3,item4]

mapを使用して配列の配列を取得できます。

var locations = [];
var locations = json.documents.map(function(e) {
    return e.children.map(function(e2) {
        return e2.pageLocation;
    });
});

// returns 2-dimensional array like [[item1,item2],[item1,item2]]
于 2012-06-21T06:18:06.623 に答える
0

あなたのjson応答は適切なjavascriptオブジェクトなので、バックエンドと同じようにオブジェクトのすべての要素にアクセスできます。ここでは、ドキュメント タイプのオブジェクトの配列があり、各ドキュメント オブジェクトには、子タイプのオブジェクトの配列があります。構文は次のようになります

myjson.documents[0].children[0].pagelocation 

( = http://192.168.5.13:8888/ebook/user_content/_ADMIN_/_IMAGES_/HDS_054227~201106290029/image_1.png)

最初のページの場所が表示されます..など

于 2012-06-21T06:20:42.063 に答える