我一直在尝试使用来自 npmjs.com 的 javascript google-trends-api 来自动检索搜索趋势数据。我成功地从我的查询中获取了原始 JSON 输出,但我似乎无法成功地将它们解析为一种形式——最好是 CSV 或制表符分隔的文本——我可以将其导入其他软件 (Stata) 进行分析. 我已经尝试使用 json2csv 来解析结果,但这不会返回类似于电子表格样式文件的任何内容。
以下是一些代表性查询结果的示例(长度有所删减):
"{\"默认\":{\"geoMapData\":[{\"geoCode\":\"798\",\"geoName\":\"Glendive MT\",\"值\":[100 ],\"formattedValue\":[\"100\"],\"maxValueIndex\":0,\"hasData\":[true]},{\"geoCode\":\"552\",\" geoName\":\"Presque Isle ME\",\"value\":[49],\"formattedValue\":[\"49\"],\"maxValueIndex\":0,\"hasData\": [true]},{\"geoCode\":\"710\",\"geoName\":\"Hattiesburg-Laurel MS\",\"value\":[11],\"formattedValue\":[ \"11\"],\"maxValueIndex\":0,\"hasData\":[true]},{\"geoCode\":\"766\",\"geoName\":\"Helena MT\ ",\"值\":[0],\"formattedValue\":[\"\"],\"maxValueIndex\":0,\"hasData\":[false]}]}}"
在运行json2csv -i "results.json"并使用fs.outputJson保存输出时,除非我去掉最外层的引号和所有反斜杠,否则会出现错误。但即使这样做了,这就是我得到的回报:
"default.geoMapData" "[{""geoCode"":""798"",""geoName"":""Glendive MT"",""value"":[100],""formattedValue"":[ ""100""],""maxValueIndex"":0,""hasData"":[true]},{""geoCode"":""552"",""geoName"":""Presque Isle ME "",""value"":[49],""formattedValue"":[""49""],""maxValueIndex"":0,""hasData"":[true]},{""geoCode "":""710"",""geoName"":""哈蒂斯堡-劳雷尔 MS"",""值"":[11],""formattedValue"":[""11""],""maxValueIndex"":0,""hasData"":[true]},{""geoCode"":""766"",""geoName"": ""Helena MT"",""value"":[0],""formattedValue"":[""""],""maxValueIndex"":0,""hasData"":[false]}]""hasData"":[假]}]""hasData"":[假]}]"
对于如何将我的查询输出转换为合理的 CSV(或类似文件)的任何指导,我将不胜感激。我应该补充一点,我是这个东西的完整初学者,如果答案很明显,请道歉!
埃里克