简体   繁体   English

使用 jquery 从 json 检索数据时出错

[英]Error in retrieving data from json using jquery

I am trying to retrieve data from JSON and display it in html using JQUERY.我正在尝试从 JSON 检索数据并使用 JQUERY 将其显示在 html 中。 After so many unsuccessful try's I am posting the code below经过这么多次不成功的尝试,我在下面发布了代码

HTML/Jquery HTML/Jquery

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>JSON</title>
</head>
<body>
    <div id="placeholder"></div>
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script>
  $.getJSON('file.json', function(data) {
        var output="<ul>";
        for (var i in data.reports) {
            output+="<li>" + data.reports.reportTitle[i] + " " + data.reports.reportDate[i] + "--" + data.reports.classificationType[i]+"</li>";
        }

        output+="</ul>";
        document.getElementById("placeholder").innerHTML=output;
  });
    </script>
</body>
</html>

Part of my Json我的 Json 的一部分

{
    "errmsg": null,
    "reportType": "criteriaReport",
    "totalRecNumbers": 918,
    "navigationControl": {
        "dimensionGroups": [
            {
                "dimensions": [
                    {
                        "refinements": [],
                        "dimName": "dimGeography",
                        "dimId": 4294289122,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=4294289122"
                    },
                    {
                        "refinements": [],
                        "dimName": "dimMarketSector",
                        "dimId": 4294288493,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=4294288493"
                    },
                    {
                        "refinements": [],
                        "dimName": "dimSectorPageMarketSectors",
                        "dimId": 4294281954,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=4294281954"
                    }
                ],
                "dimGroupName": "Filter All Results",
                "dimGroupId": 2
            },
            {
                "dimensions": [
                    {
                        "refinements": [],
                        "dimName": "dimReportType",
                        "dimId": 11,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=11"
                    }
                ],
                "dimGroupName": "Filter Research Results",
                "dimGroupId": 3
            },
            {
                "dimensions": [
                    {
                        "refinements": [],
                        "dimName": "dimResearchLanguage",
                        "dimId": 1214,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=1214"
                    }
                ],
                "dimGroupName": "Filter by Language",
                "dimGroupId": 6
            },
            {
                "dimensions": [
                    {
                        "refinements": [],
                        "dimName": "dimDateRange",
                        "dimId": 14,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=14"
                    }
                ],
                "dimGroupName": "Filter Results by Date",
                "dimGroupId": 4
            },
            {
                "dimensions": [
                    {
                        "refinements": [],
                        "dimName": "dimMarketFocus",
                        "dimId": 1233,
                        "appendedURI": "/api/v2/criteriaReport?N=363&Ne=1233"
                    }
                ],
                "dimGroupName": "",
                "dimGroupId": 0
            }
        ],
        "breadCrumbs": [
            {
                "dimensions": [
                    {
                        "refinements": [
                            {
                                "refinementId": 11,
                                "refinementName": "dimReportType",
                                "dimensionID": 11,
                                "appendURI": "N/A"
                            },
                            {
                                "refinementId": 363,
                                "refinementName": "Rating Criteria",
                                "dimensionID": 11,
                                "appendURI": "/api/v2/criteriaReport?N=363"
                            }
                        ],
                        "dimName": "dimReportType",
                        "dimId": 11,
                        "appendedURI": "N/A"
                    }
                ],
                "dimGroupName": "N/A"
            }
        ]
    },
    "pagingInfo": {
        "totalPageNumber": 19,
        "nextSets": null,
        "previousSets": null,
        "pages": [
            {
                "pageNum": 1,
                "subSetRange": "1 - 50",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=0"
            },
            {
                "pageNum": 2,
                "subSetRange": "51 - 100",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=50"
            },
            {
                "pageNum": 3,
                "subSetRange": "101 - 150",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=100"
            },
            {
                "pageNum": 4,
                "subSetRange": "151 - 200",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=150"
            },
            {
                "pageNum": 5,
                "subSetRange": "201 - 250",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=200"
            },
            {
                "pageNum": 6,
                "subSetRange": "251 - 300",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=250"
            },
            {
                "pageNum": 7,
                "subSetRange": "301 - 350",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=300"
            },
            {
                "pageNum": 8,
                "subSetRange": "351 - 400",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=350"
            },
            {
                "pageNum": 9,
                "subSetRange": "401 - 450",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=400"
            },
            {
                "pageNum": 10,
                "subSetRange": "451 - 500",
                "appendedURI": "/api/v2/criteriaReport?N=363&No=450"
            }
        ]
    },
    "reports": [
        {
            "reportTitle": "Criteria Addendum: Greece",
            "reportDate": "6/26/15 12:00 AM",
            "summary": "This report outlines Fitch Ratings assumptions for analysing securities backed by Greek residential mortgage loans.",
            "filePath": "/creditdesk/reports/report_frame.cfm?rpt_id=867293",
            "classificationType": "Sector Specific",
            "marketSectors": "Covered Bonds",
            "premium": true
        },
        {
            "reportTitle": "Global Credit Card ABS Rating Criteria",
            "reportDate": "6/26/15 12:00 AM",
            "summary": "This global criteria report describes Fitch Ratings methodology for analyzing securitizations of credit card receivables and may be applied to both international and national credit ratings. Global Credit Card ABS Rating Criteria is effective for new and existing ratings as of June 26, 2015.",
            "filePath": "/creditdesk/reports/report_frame.cfm?rpt_id=867482",
            "classificationType": "Sector Specific",
            "marketSectors": "Credit Cards - Prime, Credit Cards - Prime/Sub-Prime, Credit Cards - Retail, Credit Cards - Sub-Prime",
            "premium": true
        },

All I am trying is to retrieve the fields after "reports" in the json file.Thanks in advance我所尝试的只是在 json 文件中的“报告”之后检索字段。提前致谢

As data.reports is array you've to use subscript on data.reports .由于data.reportsarray您必须在data.reports上使用下标。

Change改变

data.reports.reportTitle[i] 

To

data.reports[i].reportTitle
//          ^^^  Should be here

Change the for as follow:更改for如下:

for (var i in data.reports) {
    output += "<li>" + data.reports[i].reportTitle + " " + data.reports[i].reportDate + "--" + data.reports[i].classificationType + "</li>";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM