-1

JavaScript変数に割り当てたこのJSONを解析しようとしていますが、複数のレベルがあるため、ループするのに苦労しています

<script type="text/javascript">

        var varJson = {
            "d": {
                "results": [
                    {
                        "__metadata": {
                            "id": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Offices(100013449)",
                            "uri": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Offices(100013449)",
                            "type": "AlfWebApiInfrastructure.Poco.Office"
                        },
                        "Agency": {
                            "__deferred": {
                                "uri": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Offices(100013449)/Agency"
                            }
                        },
                        "Advertiser": {
                            "__deferred": {
                                "uri": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Offices(100013449)/Advertiser"
                            }
                        },
                        "Contacts": {
                            "results": [
                                {
                                    "__metadata": {
                                        "id": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Contacts(id=59980,jobId=1000105450)",
                                        "uri": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Contacts(id=59980,jobId=1000105450)",
                                        "type": "AlfWebApiInfrastructure.Poco.Contact"
                                    },
                                    "id": 59980,
                                    "jobId": 1000105450,
                                    "mask": 67108863,
                                    "name": "Name",
                                    "jobtitle": "Job Title",
                                    "email": "email",
                                    "companyType": "companyType",
                                    "companyId": 1787,
                                    "officeId": 100013449,
                                    "address1": "address1",
                                    "address2": "",
                                    "address3": "",
                                    "address4": "",
                                    "addressTown": "addressTown",
                                    "addressPostCode": "addressPostCode",
                                    "tel": "tel",
                                    "fax": "fax",
                                    "responsibilities": "responsibilities"
                                },
                                {
                                    "__metadata": {
                                        "id": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Contacts(id=64085,jobId=1000105448)",
                                        "uri": "http://www.bradinsight.com/ALFAPI/AlfWebApi/Contacts(id=64085,jobId=1000105448)",
                                        "type": "AlfWebApiInfrastructure.Poco.Contact"
                                    },
                                    "id": 64085,
                                    "jobId": 1000105448,
                                    "mask": 67108863,
                                    "name": "name",
                                    "jobtitle": "jobtitle",
                                    "email": "email",
                                    "companyType": "companyType",
                                    "companyId": 1787,
                                    "officeId": 100013449,
                                    "address1": "address1",
                                    "address2": "",
                                    "address3": "",
                                    "address4": "",
                                    "addressTown": "addressTown",
                                    "addressPostCode": "addressPostCode",
                                    "tel": "tel",
                                    "fax": "fax",
                                    "responsibilities": "responsibilities"
                                }
                            ]
                        },
                        "id": 100013449,
                        "companyId": 1787,
                        "addressLine1": "addressLine1",
                        "addressLine2": "",
                        "addressLine3": "",
                        "addressLine4": "",
                        "addressLine5": "addressLine5",
                        "postCode": "postCode",
                        "regionId": "regionId",
                        "countyId": "countyId",
                        "tvAreaId": "L",
                        "telephone": "telephone",
                        "fax": "fax8",
                        "countryId": "countryId",
                        "email": "email",
                        "isdn": null,
                        "mask": 66060287
                    }
                ]
            }
        };
        
               

        $(document).ready(function () {


            //var parsed = JSON.parse(varJson);

            alert(varJson);

        

        });

    </script>

私はこれを使ってみました:

$.each(varJson, function (index, item) {
              alert(item);

                });

しかし、それは私のアラートでオブジェクトと言っているだけです。

4

2 に答える 2

2

これを試して、

function traverse(jsonObj) {
  if( typeof jsonObj == "object" ) {
    $.each(jsonObj, function(k,v) {
        traverse(v);
    });
  }
  else {
    alert(jsonObj);
  }
}

$(document).ready(function () {
   traverse(varJson);
});

http://jsfiddle.net/satpalsingh/hXEr8/

JavaScript を使用して JSON オブジェクト ツリーのすべてのノードをトラバースします。

于 2013-04-11T12:37:19.890 に答える
1

あなたの例ではそれを解析する必要はありません。

console.logの代わりに使用alertすると、Web インスペクターでオブジェクトになります。


alertもしあなたがこのようなことをしたいのなら

alert(varJson.d.results[0].__metadata.id)

于 2013-04-11T12:26:52.947 に答える