簡體   English   中英

無法解析JSON數據

[英]Unable to parse JSON data

我無法從應用程序中的給定JSON端點正確解析數據。 我的代碼與服務器正確通信,但是代碼未顯示數據。 我在JSFiddle上提供了指向我的代碼的鏈接: https ://jsfiddle.net/SWTORApps/263d62ec/

我提供了一個示例輸出,以防萬一沒有響應。 我正在使用的API端點當前正在部署一些更新,因此在接下來的幾天中可能會不時脫機。 列出的結果適用於搜索詞:test

{
  "total_items": 2,
  "total_pages": 1,
  "current_page": 1,
  "sort_order": null,
  "items_per_pags": 30,
  "next_page": "http://swtordata.com/api/v2_2/items?page=2&query=test",
  "previous_page": null,
  "query": "test",
  "objects": [
    {
      "id": 8479,
      "stack_count": 0,
      "minimum_level": 3,
      "max_durability": 200,
      "value": 85,
      "display_name": "Battle-tested Vibrosword",
      "description": null,
      "giftrank": null,
      "imp_voice_modulation": null,
      "rep_voice_modulation": null,
      "armor_rating": 18,
      "consumed_on_use": false,
      "unique_limit": 0,
      "required_gender": null,
      "social_score_required": false,
      "social_score_required_rank": 0,
      "required_valor_rank": 0,
      "required_profession_level": null,
      "api_link": "http://swtordata.com/api/v2_2/items/8479",
      "api_icon": "http://cdn.swtordata.com/icons/electroblade.low05.a02_v01.png",
      "disassemble": "ArmstechBlasterRifle",
      "binding": "OnEquip",
      "website_link": "http://swtordata.com/items/8479-battle-tested-vibrosword",
      "item_level": 4,
      "armor_spec": null,
      "enhancement_type": null,
      "gift_type": null,
      "quality": {
        "name": "Custom",
        "darkdisplaycolor": "Orange",
        "lightdisplaycolor": "Orange",
        "darkdisplaycolor_hex": "d15901",
        "lightdisplaycolor_hex": "d15901"
      },
      "use_ability": null,
      "equip_ability": null,
      "category": "LightSaber",
      "subcategory": "VibroSword",
      "get_tooltip": {
        "onmouseout": "ajax_hideTooltip();",
        "onmouseover": "ajax_showTooltip(window.event,(\"http://swtordata.com/widgettext.html?url='http://swtordata.com/items/8479'\"),this);return false;"
      },
      "combined_stats": [
        {
          "stat_amount": 9,
          "item_stat_type": {
            "name": "STAT_att_endurance",
            "display_text": "Endurance"
          }
        },
        {
          "stat_amount": 6,
          "item_stat_type": {
            "name": "STAT_att_mastery",
            "display_text": "Mastery"
          }
        }
      ],
      "base_stats": [
        {
          "item_stat": {
            "stat_amount": 9,
            "item_stat_type": {
              "name": "STAT_att_endurance",
              "display_text": "Endurance"
            }
          }
        },
        {
          "item_stat": {
            "stat_amount": 6,
            "item_stat_type": {
              "name": "STAT_att_mastery",
              "display_text": "Mastery"
            }
          }
        }
      ],
      "enhancements": [
        {
          "item_enhancement_type": {
            "name": "Augment"
          }
        }
      ],
      "crafted_with_item_information": {
        "number_crafted_with_item": 0,
        "api_link": "http://swtordata.com/api/v2_2/item_crafted_withs/8479"
      },
      "rewarded_from_missions_information": {
        "number_of_missions_rewarded_from": 0,
        "api_link": "http://swtordata.com/api/v2_2/item_rewarded_from_missions/8479"
      },
      "crafted_by": [],
      "model_information": {
        "id": 258,
        "name": "/art/dynamic/weapon/model/electroblade_low05_a02_v01.gr2",
        "api_link": "http://swtordata.com/api/v2_2/item_models/258",
        "number_of_items_with_model": 21
      },
      "item_slots": [
        {
          "name": "EquipHumanMainHand"
        },
        {
          "name": "Inventory"
        },
        {
          "name": "Bank"
        },
        {
          "name": "Loot"
        },
        {
          "name": "Buyback"
        },
        {
          "name": "Any"
        }
      ],
      "required_profession": null
    },
    {
      "id": 70950,
      "stack_count": 0,
      "minimum_level": 0,
      "max_durability": 0,
      "value": 0,
      "display_name": "Title: Test Pilot",
      "description": "Grants your character the title \"Test Pilot\".",
      "giftrank": null,
      "imp_voice_modulation": null,
      "rep_voice_modulation": null,
      "armor_rating": null,
      "consumed_on_use": true,
      "unique_limit": 0,
      "required_gender": null,
      "social_score_required": false,
      "social_score_required_rank": 0,
      "required_valor_rank": 0,
      "required_profession_level": null,
      "api_link": "http://swtordata.com/api/v2_2/items/70950",
      "api_icon": "http://cdn.swtordata.com/icons/improvedpowerconversionmodule.png",
      "disassemble": "None",
      "binding": "OnPickup",
      "website_link": "http://swtordata.com/items/70950-title-test-pilot",
      "item_level": 0,
      "armor_spec": null,
      "enhancement_type": null,
      "gift_type": null,
      "quality": {
        "name": "Artifact",
        "darkdisplaycolor": "Purple",
        "lightdisplaycolor": "Purple",
        "darkdisplaycolor_hex": "a800d7",
        "lightdisplaycolor_hex": "a800d7"
      },
      "use_ability": {
        "id": 21926,
        "display_name": "Apply Title",
        "description": "Unlocks a title for this character.",
        "cooldown": 0,
        "forcecost": 0,
        "maxrange": 0,
        "passive": false,
        "hidden": false,
        "globalcooldown": -1,
        "overridegcd": null,
        "usespushback": false,
        "ignorealacrity": true,
        "loscheck": true,
        "energycost": 0,
        "targetarc": 0,
        "channeltime": 0,
        "casttime": 3,
        "minrange": 0,
        "ammoheatcost": 0,
        "targetarcoffset": 0,
        "api_link": "http://swtordata.com/api/v2_2/abilities/21926",
        "website_link": "http://swtordata.com/abilities/21926",
        "api_icon": "http://cdn.swtordata.com/icons/bravado.png",
        "category": "Mtx",
        "subcategory": "Unlock",
        "target_rule": {
          "name": "Self"
        },
        "get_tooltip": {
          "onmouseout": "ajax_hideTooltip();",
          "onmouseover": "ajax_showTooltip(window.event,(\"http://swtordata.com/widgettext.html?url='http://swtordata.com/abilities/21926'\"),this);return false;"
        },
        "items_use_and_equip_information": {
          "number_of_items_with_equip": 0,
          "number_of_items_with_use": 180
        }
      },
      "equip_ability": null,
      "category": "Spvp",
      "subcategory": "Title",
      "get_tooltip": {
        "onmouseout": "ajax_hideTooltip();",
        "onmouseover": "ajax_showTooltip(window.event,(\"http://swtordata.com/widgettext.html?url='http://swtordata.com/items/70950'\"),this);return false;"
      },
      "combined_stats": [],
      "base_stats": [],
      "enhancements": [],
      "crafted_with_item_information": {
        "number_crafted_with_item": 0,
        "api_link": "http://swtordata.com/api/v2_2/item_crafted_withs/70950"
      },
      "rewarded_from_missions_information": {
        "number_of_missions_rewarded_from": 0,
        "api_link": "http://swtordata.com/api/v2_2/item_rewarded_from_missions/70950"
      },
      "crafted_by": [],
      "model_information": null,
      "item_slots": [
        {
          "name": "Inventory"
        },
        {
          "name": "Bank"
        },
        {
          "name": "Loot"
        },
        {
          "name": "Buyback"
        },
        {
          "name": "Any"
        }
      ],
      "required_profession": null
    }
  ]
}

您的問題是因為您在data上調用$.each ,這是一個對象。 擁有display_name值的屬性位於data.objects數組中,因此您需要在其周圍循環:

$.each(data.objects, function(i, item) { // note data.objects here
    $("#results").append("<div>" + item.display_name + "<br><br></div>");
});

工作實例

請注意,在上面的鏈接中,您無法從jsFiddle調用URL,因為它沒有SSL證書,因此我對返回的對象進行了硬編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM