[英]Convert string which is read from a file to json object in nodejs
我正在从文件中读取字符串并希望将其转换为json
对象文件内容: {name:"sda"}
代码:
var fs=require('fs');
var dir='./folder/';
fs.readdir(dir,function(err,files){
if (err) throw err;
files.forEach(function(file){
fs.readFile(dir+file,'utf-8',function(err,jsonData){
if (err) throw err;
var content=jsonData;
var data=JSON.stringify(content);
console.log(data);
});
});
但我得到这个输出: {name:\\"sda\\"}
除了将 JavaScript 值转换为 JSON 字符串的JSON.stringify()
方法之外,您还可以使用JSON.parse()
方法将字符串解析为 JSON:
fs.readFile(dir+file,'utf-8',function(err, jsonData){
if (err) throw err;
var content = JSON.stringify(jsonData);
console.log(content);
var data = JSON.parse(content);
console.log(data);
});
检查下面的演示。
var jsonData = '{name:"sda"}', content = JSON.stringify(jsonData), data = JSON.parse(content); pre.innerHTML = JSON.stringify(data, null, 4);
<pre id="pre"></pre>
由于您的文件不是有效的 JSON,您可以使用eval
(这是一个肮脏的黑客,但它有效),例如:
data = '{name:"sda"}'; eval('foo = ' + data); console.log(foo);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.