0

次の Javascript を検討してください。解析している JSON オブジェクトには、History という配列があります。履歴 (resp[0].History) 配列内の各オブジェクトには、UniqueID プロパティがあります。配列内の各オブジェクトの UniqueID プロパティを取得するにはどうすればよいですか?

// Retrieve individual licence information.
function loadLicenceDetails(uniqueID) {
    document.body.style.cursor = 'wait';
    $('#loadingLicenceDiv').modal('show');
    $.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        url: '/JadeLicensingWebService/default.asmx/GetLicenceDetails',
        dataType: 'json',
        data: '{"licenceHolder":"' + $.cookie("companyName") + '","uniqueID":"' + uniqueID + '"}',
        success: function (data) {
            resp = $.parseJSON(data.d);
            $('#inputLicenceName').val(resp[0].LicenceName);
            $('#licenceKeyInput').val(resp[0].LicenceKey);
            $('#selectProductType').val(resp[0].Product);
            $('#selectDuration').val(resp[0].Duration);
            $('#startDateInput').val(resp[0].StartDate);
            $('#expiryDateInput').val(resp[0].ExpiryDate);
            $('#orderedByInput').val(resp[0].OrderedBy);
// How do I get at the History.UniqueID ?
            $('#notesInput').val(resp[0].Notes);
            $('#licenceInfoHeader').html('<strong>#' + uniqueID + '</strong> - ' + resp[0].LicenceName);
4

2 に答える 2

1

JSONが次のようになっていると仮定します。

{
  "History": [
    {
      "UniqueId": "abc"
    },
    {
      "UniqueId": "def"
    },
    {
      "UniqueId": "ghi"
    },
  ]
}

あなたはこれを行うことができます:

var ids = []; // Make an array to hold the IDs
// Iterate over History items
for (var i = 0; i < resp.History.length; i++) {
  var item = resp.History[i];
  ids.push(item.UniqueId); // Put each ID in the array
}

それがJSONオブジェクトのように見えない場合は、サンプルオブジェクトを質問に追加して、質問内容が明確になるようにすることはできますか?

于 2012-09-07T02:31:01.750 に答える
0

これを使用して解決:

$('#licenceHistoryText').val(resp[0].History[0].DateIssued);

編集、最終的な解決策:

    $.each(resp[0].History, function (i, obj) {
        document.getElementById("licenceHistoryText").value += obj.DateIssued + ' - ' + obj.LicenceName + ' [' + obj.LicenceKey + ']\n';
    });
于 2012-09-07T02:43:35.923 に答える