从外部页面导入Json数据

时间:2014-04-23 10:24:41

标签: javascript jquery html json

我正在处理一个页面,该页面必须显示从外部页面收到的数据(此页面位于我的域外部,不受我的控制)。此外部页面使用以下结构回复一些JSON数据:

{

    "definition" : {
        "accountID" : 19943,
        "profileID" : "Z3WIPu86X77",
        "ID" : "oOEWQj3sUo6",
        "name" : "Site Pages",
        "description" : "A10_RPT_Pages_SD",
        "language" : null,
        "timezone" : "UTC 1",
        "dimensions" : [
            {
                "ID" : "pages",
                "name" : "Page"
            }
        ],
        "measures" : [
            {
                "name" : "PageViews",
                "ID" : "CAoNYspmFb5",
                "columnID" : 1,
                "measureFormatType" : null
            }
        ]
    },
    "data" : [
        {
            "period" : "Month",
            "start_date" : "2014-03",
            "end_date" : "2014-04",
            "attributes" : {
            },
            "measures" : {
                "PageViews" : 281
            },
            "SubRows" : {
            }
        }
    ]
}

我想要做的是取回特定数据“data.measures.PageViews”将其插入我的HTML代码中。

我在html头中定义了以下javascript:

<script type="text/javascript">
    function parseResult(myData)
    {
        alert(myData.data);
    }
</script>

我使用身体内部以下列方式对外部链接进行地址回调:

<script type="text/javascript" src="https://external-link&callback=parseResult"></script>

如果我这样做,警报会显示“对象:对象”。

但是,如果我尝试alert(myData.data.measures);,它会向我显示一个空白警告,如果我尝试alert(myData.data.measures.PageViews);,它就不会显示警报并在firebug控制台上显示错误。

我已经阅读了一些jsonp指南,但我不了解很多东西。然而,之后我想将Pageviews放在一个变量中,在我喜欢的html中调用它。

3 个答案:

答案 0 :(得分:1)

myData.data是一个数组。使用方法:

myData.data[0].measures

答案 1 :(得分:0)

查看您的JSON,myData.data是一个数组,因此您无法像myData.data.measures那样访问它。

尝试myData.data[1]

答案 2 :(得分:0)

使用jQuery,您可以使用$.getJSON进行跨站点JSON抓取:

$.getJSON("https://external-link&callback=parseResult",
function(myData) {
    alert(myData.data); 
});