Разобрать данные API Google Trends в формате JSON - PullRequest
1 голос
/ 23 января 2020

Я работал над программой, которая извлекает данные из Google Trends API, используя Node.js, я получаю нужные данные, но не в правильном формате. Я хочу выполнить синтаксический анализ JSON, чтобы получить данные в правильном формате.

Мой код:

//This program is fetching data from google trend api for a particular job title
var googleTrends = require('google-trends-api');
var fs = require('fs');
fs.readFile('keywords.txt', 'utf8', function (err,data) {
        if (err) {
                return console.log(err);
        }
        data = data.toString().split("\n");
        recur(0, data);
});

function recur(index, data){
        if (index < data.length){
                var keyword = data[index].split(",");

                 console.log(keyword);
                googleTrends.interestByRegion({keyword:keyword,
                geo:'US',
                resolution:'state'
                })

                .then(function(results ){

                  console.log(results+ "\n");


                  console.log("***********************************************************************************************");

                  index = index+1;

                    recur(index, data);
                         })
                .catch(function(err){
                        console.error('We have an error!', err);
                 });
        }

}

Вывод: -

[ 'Уборка дома'] {"default": {"geoMapData": [{"geoCode": "US-CO", "geoName": "Колорадо", "value": [100], "formattedValue": ["100 "]," maxValueIndex ": 0," hasData ": [истинно]}, {" геокодировать ":" США-А-Я», "geoName": "Аризона", "значение": [96], "FormattedValue": [ "96"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США-WA", "geoName": "Вашингтон", "значение": [95], "FormattedValue" : [ "95"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "УС-КС", "geoName": "Канзас", "значение": [93],» FormattedValue ": [" 93 "]," maxValueIndex ": 0," hasData ": [истинно]}, {" геокодировать ":" США-НВ», "geoName": "Невада", "значение": [93] , "FormattedValue": [ "93"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США-ID", "geoName": "Айдахо", "значение": [ 93], "formattedValue": ["93"], "maxValueIndex": 0, "hasData": [true]}, {"geoCode": "US-RI", "geoName": "Rhode Island", "value ": [87]," FormattedValue ": [" 87 "]," maxValueIndex ": 0," hasData ": [истинно]}, {" геокодировать ":" США-УТ», "GeoName": "Юта", "значение": [86], "FormattedValue": [ "86"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США ИЛИ " "geoName": "Орегон", "значение": [85], "FormattedValue": [ "85"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать":" США -OK», "geoName": "Оклахома", "значение": [83], "FormattedValue": [ "83"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "US-N C", "geoName": "Северная Каролина", "value": [83], "formattedValue": ["83"], "maxValueIndex": 0, "hasData": [true]} , { "геокодировать": "США-TN", "geoName": "Теннесси", "значение": [80], "FormattedValue": [ "80"], "maxValueIndex": 0, "hasData": [истинно ]}, { "геокодировать": "США-СА", "geoName": "Калифорния", "значение": [79], "FormattedValue": [ "79"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США-ГА", "geoName": "Грузия", "значение": [78], "FormattedValue": [ "78"], "maxValueIndex": 0, "hasData ": [истинно]}, {" геокодировать ":" США-TX», "geoName": "Техас", "значение": [78], "FormattedValue": [ "78"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США-МО", "geoName": "Миссури", "значение": [77], "FormattedValue": [ "77"], "maxValueIndex": 0, "hasData": [правда] }, { "Геокодировать": "США-МТ", "geoName": "Монтана", "значение": [77], "FormattedValue": [ "77"], "maxValueIndex": 0, "hasData": [ true]}, {"geoCode": "US-NH", "geoName": "New Hampshire", "value": [76], "formattedValue": ["76"], "maxValueIndex": 0, "hasData ": [true]}, {" geoCode ":" US-S C "," geoName ":" Южная Каролина "," value ": [76]," formattedValue ": [" 76 "]," maxValueIndex ": 0," hasData ": [истинно]}, {" геокодировать ":" США-AL», "geoName": "Алабама", "значение": [75], "FormattedValue": [ "75"], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США-МА", "geoName": "Массачусетс", "значение": [75], "FormattedValue": [ "75" ], "maxValueIndex": 0, "hasData": [истинно]}, { "геокодировать": "США-FL", "geoName": "Флорида", "значение": [75], "FormattedValue": [» 75 "]," maxValueIndex ": 0," hasData ": [true]}, {" geoCode ":" US-AR "," geoName ":" Arkansas "," value ":

...