gpt4 book ai didi

javascript - Polymer JS 从 JSON 文件读取

转载 作者:太空宇宙 更新时间:2023-11-04 15:46:58 24 4
gpt4 key购买 nike

我正在尝试从 JS 中 Polymer 中的 JSON 文件读取子数组,并返回要在 dom-repeat 中使用的子数组。但是,它告诉我子数组未定义。我尝试以各种方式重新构建 JSON 文件,但没有成功。我认为我在某处没有使用正确的语法。

现在 JSON 看起来像这样:

{
"url": "dn8",
"volpage": "DN iii 1",
"languages": [{
"pt": {
"authors": ["Laera"],
"titlelan": "Title in Portuguese"
},
"fr": {
"authors": ["Moi"],
"titlelan": "Title in French"
},
"es": {
"authors": ["Jesus"]
}
}]
}

我正在尝试获取一个名为languageData 的子数组,它仅保存输入语言的特定数据。输入具有正确的 inputLanguage 值,例如“pt”。我的 JS 看起来像这样:

    Polymer({
is: 'test-data',
properties: {

inputUrl: String,
inputLanguage: String,
inputData: {
type: Array,
notify: true,
value: function(){return []}
},

languageData: {
type: Array,
computed: '_computeLanguage(inputData,inputLanguage)'
}
},
_computeLanguage: function(inputData,inputLanguage) {
var lanarray = inputData.languages[inputLanguage];
return lanarray ? lanarray : "";
}

});

非常感谢任何帮助!

最佳答案

如您所见,JSON 的 languages 属性不是 Object 而是 Array

您的“polymer 代码”运行良好,问题是您试图获取languageData,就好像它是一个数组一样:

var lanarray = inputData.languages[inputLanguage];

实际上,languages包含一个对象数组,你无法通过这种方式找到你的lang对象。

可能的解决方案是:

var lanarray = inputData.languages[0][inputLanguage];

关于javascript - Polymer JS 从 JSON 文件读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43488557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com