У меня есть действительные данные 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]);
}
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]);
}
}
Я не знаю, чего ты хочешь. Скажи мне.
bitcoin
) и добавить в него значения, поэтому всякий раз, когда я вызываю этот массив, я могу получить его значения.
В массивах ([...]
) ключи - это числа.
В 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
- array.forEach
функцию на всех элементах массива:
data=[1,2,3,"hello","world"]
data.forEach(function(x,i){console.log(i,x)})
И еще много похожих вариантов!
bitcoin
и maker
- это массивы, поэтому у предметов внутри нет ключа.
const obj = {
"bitcoin": [
"-0.47",
"-0.46",
"-0.42"
],
"maker": [
"8.29",
"8.29",
"6.89"
]
}
Чтобы получить значения:
var bitcoinItems = obj.bitcoin;
var firstBitcoin = bitcoinItems[0];
Ваши данные - это Dictionary<string,string[]>
вы должны иметь возможность проанализировать его как таковой.
Вы можете получить доступ с индексами массива
Попробуй это:
obj.bitcoin[0] = "-0.47"
obj.bitcoin[1] = "-0.46"
obj.maker[2] = "6.89"
obj.bitcoin[index]