簡體   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