1
用下面的代码我使用节点5.1和6.1.2打字稿如何解析映射在node.js中
文件我试图解析了在app.js错误ecma6(打字稿)到JSON是Firefox的bookmark.json。 我的目标是将其解析为一张地图,并将其解析为json。
'use strict';
declare function require(name:string);
let fs = require('fs');
fs.readFile('./bookmarks.json', 'utf8', handleFile);
function handleFile(err, data) {
function strMapToObj(strMap) {
let obj = Object.create(null);
for (let [k,v] of strMap) {
obj[k] = v;
}
return obj;
}
function strMapToJson(strMap) {
return JSON.stringify(strMapToObj(strMap));
}
function objToStrMap(obj) {
let strMap = new Map();
for (let k of Object.keys(obj)) {
strMap.set(k, obj[k]);
}
return strMap;
}
function jsonToStrMap(jsonStr) {
return objToStrMap(JSON.parse(jsonStr));
}
if(err) throw err;
let myMap = jsonToStrMap(JSON.parse(JSON.stringify(data)));
console.log(myMap); // works well
let result = strMapToJson(myMap);
console.log(result); // returns an error
}
我得到了一个语法错误有一个意外标记为 (就让[K,V] strMap)
如何解决呢?
如何将这样的地图从firefox bookmarks.json解析回json?
有什么特别的原因不只是使用'JSON.parse(数据)'和'JSON.stringify(数据图) '? –
@ macareno.marco:除了[那不起作用](http://stackoverflow.com/a/28918362/1048572),OP受到文件模式的限制 – Bergi