JSon File首先作为对象读取,然后作为Json读取

时间:2017-02-09 10:36:16

标签: javascript json

所以我的问题非常简单。

我有一个Json文件,其中包含:{ "message": [] }

在这个文件中,我将通过解析它来连续添加消息,推送一个项目并将其“字符串化”。

像这样:

jf.readFile(file, 'utf8', function(err, json){
    json = JSON.parse(json)
    json.message.push({user: message.username, date: message.hour, message: message.text})
    json = JSON.stringify(json)
    jf.writeFile(file, json, 'utf8');
}

但是当它是第一条消息时,basicJsonF被认为是[object Object]。 只要我收到消息,就会将其视为JSon文件。

我怎么能(没有if条件)将basicJsonF指定为Json文件?

编辑:

我发现了一个解决方案,如果有人需要的话我觉得很干净:

typeof(json) === 'object' ? null : json = JSON.parse(json)

1 个答案:

答案 0 :(得分:1)

此代码片段适用于您想要做的事情。您只需将json写入文件即可。



var message = { username: "TestUser", hour: new Date(), text: "HEY THERE!" };
var jsonBasicFile = '{ "message": [] }';
console.log(jsonBasicFile);
var obj = JSON.parse(jsonBasicFile);
console.log(obj);
obj.message.push({user: message.username, date: message.hour, message: message.text});
console.log(obj);
var json = JSON.stringify(obj);
console.log(json);