【发布时间】:2018-10-02 22:11:07
【问题描述】:
我一直在尝试使用来自 npmjs.com 的 javascript google-trends-api 来自动检索搜索趋势数据。我成功地从我的查询中获取了原始 JSON 输出,但我似乎无法成功地将它们解析成一种形式——最好是 CSV 或制表符分隔的文本——我可以将其导入其他软件 (Stata) 进行分析.我尝试使用 json2csv 来解析结果,但这不会返回类似于电子表格样式文件的内容。
以下是一些具有代表性的查询结果示例(长度有所删减):
"{\"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\":\"Hattiesburg-Laurel MS\",\"value\":[11],\"formattedValue\ ":[\"11\"],\"maxValueIndex\":0,\"hasData\":[true]},{\"geoCode\":\"766\",\"geoName\":\"海伦娜 MT\",\"value\":[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"",""值"":[49],""formattedValue"":[""49""],""maxValueIndex"":0,""hasData"":[true]},{""geoCode"":"" 710"",""geoName"":""哈蒂斯堡-月桂树 MS"",""value"":[11],""formattedValue"":[""11""],""maxValueIndex"":0 ,""hasData"":[true]},{""geoCode"":""766"",""geoName"":""Helena MT"",""value"":[0],"" formattedValue"":[""""],""maxValueIndex"":0,""hasData"":[false]}]"
对于如何将我的查询输出转换为合理的 CSV(或类似格式)提供任何指导,我将不胜感激。我应该补充一点,我是这方面的初学者,如果答案很明显,我深表歉意!
埃里克
【问题讨论】:
标签: javascript json parsing google-trends json2csv