У меня есть два файла JSON.
один выглядит так:
{
base: "EUR",
date: "2019-01-30",
rates: {
USD: 1.1429,
AND MORE....
...
...
}
}
и еще один, который выглядит так:
{
results: {
USD: {
currencyName: "United States Dollar",
currencySymbol: "$",
id: "USD"
}
}
Я хочу объединить их вместе и получить объект, который выглядит так:
{
results: {
USD: {
currencyName: "United States Dollar",
currencySymbol: "$",
id: "USD",
value: 1.1429 <====== the change
}
}
ничего похожего здесь не нашел... и понятия не имею, как начать
Я получаю значения из этих ссылок:
https://free.currencyconverterapi.com/api/v6/currencies
https://api.exchangeratesapi.io/последний
с функцией извлечения:
function getdataFromApiAsync() {
return fetch('https://api.exchangeratesapi.io/latest')
.then((response) => response.json())
.then((responseJson) => {
return responseJson.rates;
})
.catch((error) => {
console.error(error);
});
}
поэтому вам нужно перебрать один и добавить его к другому.... будут циклы....
@messerbill да.
То, что вы опубликовали как «JSON», вообще не является JSON. Не существует такого понятия, как «объект JSON».
@RandyCasburn прочитайте вопрос и код. есть функция ".json()".
Это: У меня есть два файла JSON. один выглядит так: :: Ни один из следующих блоков кода не содержит JSON.
@RandyCasburn это действительно не главное. вместо обсуждения семантики. вы можете попробовать помочь с функцией :)
Как указывает epascarello - переберите один и добавьте его к другому. Удачи вам.
Скажите, хотите ли вы что-то подобное, или если вы хотите перебирать результаты, если результаты представляют собой массив
Возможно, вы захотите взглянуть на использование оператора распространения, если он у вас есть.
Было бы полезно, если бы вы предоставили И БОЛЬШЕ... кейсов



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Предполагая, что ваш объект результатов имеет примерно такой интерфейс:
{
[key: string]: {
currencyName: string;
currencySymbol: string;
id: string;
value?: number;
}
}
где id здесь всегда соответствует ключу объекта rates, тогда вы, вероятно, захотите пройтись по values этого объекта результатов и добавить значение из ставок другого объекта, например:
Object.values(results).forEach(result => {
const value = rates[result.id];
if (value) {
result.value = value;
}
});
как обрабатывать эти случаи «И БОЛЬШЕ ...»?