我使用基本数组来引用这样的图标:
{name: "text", avatar: srcs[15]}
这很好用,但现在我从我的json api动态创建一个数组,它给了我这样的对象数组:
{name: "text", avatar: "srcs[15]"}
因此我现在无法参考我的头像。如何删除双引号以使我的数组再次工作?
请注意,我不想获取数组的srcs[15]
值,只需引用源数组。
答案 0 :(得分:4)
JSON数据格式不支持引用。你想要的不可能。
您需要:
reviver
argument of JSON.parse
将说明扩展回您想要指向的数据。答案 1 :(得分:1)
JSON是自包含的静态数据,它不能引用自己结构之外的命名变量或对象。
你可以这样做:
{ "name": "text", "avatarIndex": 15 }
然后使用其中一个来使用它:
var avatar = srcs[data.avatarIndex]; // Avatar object in separate variable
// or
data.avatar = srcs[data.avatarIndex]; // Avatar object added into data
答案 2 :(得分:0)
你应该只放置值或整个数组,你还要阅读json支持的格式here
这是我建议的解决方案
var array = [1, 2, 3, 4, 5, 6]
var json1 = {
name: 'test',
value: array
}
console.log("solution 1 :" + json1.value[2])
var json2 = {
name: 'test',
value: array[2]
}
console.log("solution 2 :" + json2.value)