繁体   English   中英

将从文件中读取的字符串转换为nodejs中的json对象

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM