如何解析没有通过JavaScript的一个关键多维JSON数据? [重复]

问题描述 投票:1回答:3

这个问题已经在这里有一个答案:

我有有效的JSON数据:

{
 "bitcoin": [
    "-0.47",
    "-0.46",
    "-0.42"
 ],
 "maker": [
    "8.29",
    "8.29",
    "6.89"
 ]
}

我怎样才能从这样的数据不存在键值?

编辑:有@kolzar和@FZs的帮助下,我只需通过下面的代码管理它:

for (var key in obj) {
  console.log(key + obj[key]);
}
javascript json
3个回答
1
投票

var obj = {
 "bitcoin": [
    "-0.47",
    "-0.46",
    "-0.42"
 ],
 "maker": [
    "8.29",
    "8.29",
    "6.89"
 ]
}

for (var key in obj) {
  for (var i = 0; i< obj[key].length; i++) {
    console.log(obj[key][i]);
  }
}

我不知道你想要什么。告诉我。


1
投票

在阵列([...]),键是数字。 在JS,你可以访问属性两种方式:

  • container[key_as_expression]
  • container.key_as_identifier

由于JS标识符不允许的标识符以数字开头,数字键只能通过第一种方式访问​​:

data={
 "bitcoin": [
    "-0.47",
    "-0.46",
    "-0.42"
 ],
 "maker": [
    "8.29",
    "8.29",
    "6.89"
 ]
}

console.log(data.bitcoin[0]) //"-0.47"
console.log(data.bitcoin[1]) //"-0.46"

由于第一语法允许表情,关键不能硬编码:

n=0
data={
 "bitcoin": [
    "-0.47",
    "-0.46",
    "-0.42"
 ],
 "maker": [
    "8.29",
    "8.29",
    "6.89"
 ]
}

console.log(data.bitcoin[n]) //"-0.47"
console.log(data.bitcoin[n+1]) //"-0.46"

而且有很多循环的,它可以帮助你:

  • for - 最常用的循环。要在一个阵列中的所有元素执行的东西: data=[1,2,3,"hello","world"] for(let i=0;i<data.length;i++){ console.log(i,data[i]) }
  • for of - 更简单的语法,但关键是不可用的。例: data=[1,2,3,"hello","world"] for(let x of data){ console.log(x) }
  • array.forEach - 在阵列中的所有元素执行一个功能: data=[1,2,3,"hello","world"] data.forEach(function(x,i){console.log(i,x)})

还有更多类似的选项!


-1
投票

bitcoinmaker是数组,所以里面的物品有没有密钥。

const obj = {
 "bitcoin": [
    "-0.47",
    "-0.46",
    "-0.42"
 ],
 "maker": [
    "8.29",
    "8.29",
    "6.89"
 ]
}

要获取值:

var bitcoinItems = obj.bitcoin;
var firstBitcoin = bitcoinItems[0];
© www.soinside.com 2019 - 2024. All rights reserved.