从json响应中删除双引号

时间:2018-04-13 11:18:07

标签: javascript arrays json object

我使用基本数组来引用这样的图标:

{name: "text", avatar: srcs[15]}

这很好用,但现在我从我的json api动态创建一个数组,它给了我这样的对象数组:

{name: "text", avatar: "srcs[15]"}

因此我现在无法参考我的头像。如何删除双引号以使我的数组再次工作?

请注意,我不想获取数组的srcs[15]值,只需引用源数组。

3 个答案:

答案 0 :(得分:4)

JSON数据格式不支持引用。你想要的不可能。

您需要:

  • 明确地放置您想要的数据(这可能涉及重复)
  • 以消费JSON的程序可以解释为参考的方式描述关系。您可以使用the 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)