Jquery从JSON转换请求

krcsximq  于 2022-12-12  发布在  jQuery
关注(0)|答案(1)|浏览(132)

我从rest-call获得JSON

$(document).ready(function() {
    $.getJSON('https://api.foe-helper.com/v1/LegendaryBuilding/list', function(alllgs) {
      $.each(alllgs , function(h, is){ 
      $.each(is.buildings, function(hit, ids) {
        
        $('.allegebaeude').append('<option id="lgtops" value="' + ids.id + '" selected="selected" key="' + ids.id + '">' + ids.name + '</option>');
{"status":200,"response":{"buildings":[{"id":"X_AllAge_EasterBonus4","name":"Observatory"},

所以我喜欢翻译ID。翻译文件是本地存储的JSON

{"status":200,"response":{"X_AllAge_EasterBonus4":[{"de":"Observatorium"},

有没有人给我一个如何解决这个问题的提示?更改本地存储的JSON对于easyer演练来说没有问题。

yhived7q

yhived7q1#

我不明白你引用翻译文件是什么意思。
无论如何,只要您在js对象中反序列化了json数据,并且假定这样的对象具有名为buildings的属性,该属性包含一个对象数组,每个对象都具有idname属性,您希望将这些属性Map到一个新的输出数组(该输出数组将匹配option s以附加到先前存在的select元素),
您可以按如下方式进行:
给定您应该从API接收的对象的json:

{"status":200,"response":{"buildings":[{"id":"X_AllAge_EasterBonus4","name":"Observatory"}]}

并且.buildings项将Map到选项,其idname属性分别为value属性和content,将被追加到先前存在的<select class="allegebaeude">中,如您在此处引用的:

$('.allegebaeude').append()

下面的演示将静态对象定义为您期望从API获得的对象,只需在其buildings数组上执行map,该数组将返回一组新的options,然后在select中执行.append结果选项:
第一次

相关问题