Ву.js-как получить объект данных JSON по объекту?

Ву.js-как получить объект данных JSON по объекту?

27.12.2018 05:38:06 Просмотров 64 Источник

У меня есть большой JSON-файл (40 МБ), который содержит информацию о странах, их идентификаторах и, наконец, сумму, которую мне нужно получить.

{
        "0": {
                "id": 0,
                "country": "usa",
                "sum": 201,
        },
        "1": {
                "id": 1,
                "country": "fr",
                "sum": 133,

        }
}

Когда я пытаюсь извлечь эти данные в переменную, она работает хорошо, но потребляет так много памяти, поэтому я хочу прочитать только поле sum этих объектов страны, а затем вычислить общую сумму. Как я могу это сделать?

Я использую следующий код, чтобы получить весь JSON:

fetch(fetchURL)
    .then(response => response.json())
    .then(responseJSON => {
        this.json_data = responseJSON;
    })
    .catch(error => {
        console.log(error);
    });

responseJSON.sumне работает, я думаю, что это требует индекса, но я не мог сделать это в выборке.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object#comment94740895_53946744
"Когда я пытаюсь извлечь эти данные в переменную, она работает хорошо, но потребляет так много памяти" я думаю, что вы должны это сделать из бэкэнда.
https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object#comment94732470_53946744
Сделайте суммирование на стороне сервера.
https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object#comment94733002_53946744
вы пробовали мой ответ ?
https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object#comment94733063_53946744
@BoussadjraBrahim, да. Большое вам спасибо, я думаю, что он имеет такую же эффективность с решением, которое я отметил, верно?
https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object#comment94733214_53946744
@BoussadjraBrahim о, хорошо, тогда мне лучше использовать reduce вместо for. Существуют ли различия в производительности или это общий стиль программирования для решения этих проблем?
https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object#comment94733437_53946744
эти функции выполняются экспертами в JS, поэтому они более эффективны

Ответы - Ву.js-как получить объект данных JSON по объекту? / Vue.js - How to fetch JSON data object by object?

Ouriel Boiria-Lesaffre

27.12.2018 06:00:39

Я не уверен, что полностью понимаю, что вы хотите сделать: либо получить массив только responseJSONслишком велик, либо получить фактическую сумму всех переменных responseJSON.

Вот часть кода, которая может помочь :

sum

В этой части кода я использую функцию JavaScript map, чтобы получить массив со всеми переменными var countries = [ { "id": 0, "country": "usa", "sum": 201, }, { "id": 1, "country": "fr", "sum": 133, } ]; var totalSum = 0; var sumArray = countries.map(function(country) { totalSum = totalSum + country.sum; return country.sum; }); в нем. Я также делаю общую sumпеременных суммы с переменной sum.

Если вам просто нужно получить общую sumпеременных sum, Я бы скорее рекомендовал использовать функцию sumjavascript, а не функцию forEach.

Надеюсь, это поможет...

https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object/53947011#comment94732515_53947011
То, что вы сделали, это именно то, что я хочу сделать, но я пытаюсь сделать это во время получения json
Является ответом!
Sankalpa Timilsina

27.12.2018 06:07:13

В ES6 вы можете просто сделать следующее:

 fetch(fetchURL)
        .then(response => response.json())
        .then(responseJSON => {
            var sum = 0;
            for(var i = 0; i < Object.keys(responseJSON).length; i++) {
              sum += responseJSON[i]['sum'];
            }
            console.log(sum); // This is the total sum
        })
        .catch(error => {
            console.log(error);
        });
https://stackoverflow.com/questions/53946744/vue-js-how-to-fetch-json-data-object-by-object/53947113#comment94732572_53947113
Это имеет смысл, и это на самом деле решение для меня, спасибо.
Закрыть X