所以我的问题非常简单。
我有一个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)
答案 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);