json是js原生数据格式,可是用js操作起来惨不忍睹啊
额,很抱歉做了标题党...这样做只是为了更吸引人。
这样说无意贬低js,事实上我也对js兴趣有加,其中遇到一些问题希望得到大家指导。
以前用python处理起json数据得心应手,感觉很简单,我一般只用
json.load
和
json.dump
就可以解决大多数问题,对于基础的且复杂的list或dict 都一般存为py模块,导入即可方便使用(这个方法可能不是太普遍,对于效率还请大家指点)。
现在用js处理,导入倒是挺简单,
require file.json
文件后,直接对数组操作就可以生成新的数据,可是我要存为文件的时候就遇到问题了。我用
fs.writeFile('file', JSON.stringify(data))
可以将json数据存为文件,可是结果并不太满意,第一可读性不好,再一点,取用数据的时候也没
require file.json
方便。
经验不足,菜鸟,说的可能很肤浅,还请大家多多指点。
最基本的问题就是我想通过nodejs将json存为文件
Answers
首先你说的是
node.js
,虽然也是
JS
,但是和
JavaScript
还是有一些区别的。然后
JS
解析
JSON
的话一般都是用
JSON.stringify()
和
JSON.parse()
函数的。
另外所谓的很好的支持,我觉得应该是讲对它的定义/格式有一个很好的支持,而不是片面的去比较书写代码的方式。
你的存入文件的写法没有问题的。
关于你的第一个问题,我想说你真是图样图森破,一定没有认真看过MDN的文档吧,
JSON.stringfy()
是有其它参数的,具体请看:
https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Global_Objects/JSON/stringify
JSON.stringify({ uno: 1, dos : 2 }, null, '\t')
关于你的第二个问题,我查了一下,读取的话这么写可能会比较方便(好看)一点:
data = JSON.parse( require('file.json') );