首页IT科技nodejs json对象 foreach map(Nodejs处理Json文件并将处理后的数据写入新文件中)

nodejs json对象 foreach map(Nodejs处理Json文件并将处理后的数据写入新文件中)

时间2025-07-04 20:02:28分类IT科技浏览3939
导读:处理Json文件并将处理后的数据写入新文件 问题描述...

处理Json文件并将处理后的数据写入新文件

问题描述

事情是这样的            ,朋友让我处理一个json文件并将处理后的数据写入新文件            。这个json文件的结构如下:

[     {         "head_img": "http://wx.qlogo.cn/mmhead/xxxxxxxxxxx",         "nick_name": "xxxxxxx",         "user_name": "",         "wxid": "wxid_xxxxxxxxxxxx"     },     ... ]

这个json文件中的这个json数组大小是25w条数据                  ,现在他只想要wxid这个属性的值      ,并且将它写出到一个txt的文件中         ,没5000个为一个txt文件                  ,每个值为一行                  。也就是最后给他50个txt文件         ,每个里面有5000行wxid的值      。

实现过程

解决问题的方法有很多      ,可以用python            、nodejs                  、Java等任何你熟悉的语言实现                  ,我这里使用nodejs来实现一下            ,因为它简单并且不需要引入第三方的库         。

这里涉及到了文件的读取和写入   ,因此用到nodejs自带的fs模块                  。具体实现代码如下:

const fs = require("fs")    //引入fs模块 const data = fs.readFileSync(test.json,utf8);    //读取json文件 let temp = JSON.parse(data)    //将数据解析为json对象 let tempIndex = 0;    //临时索引                  ,用来计数是否到达5000条 let tempFileCount = 1    //临时文件计数               ,用于计数文件名,result1...result50 temp.forEach(element => {    //遍历json数组     if(tempIndex<5000){    //判断是否小于5000               ,如果是则写入当前文件                  ,这里使用的是追加的写入方式         fs.appendFileSync("result"+tempFileCount+".txt",element.wxid+\r,utf8,function(err){},tempIndex++)              }else{    //当tempIndex等于5000时写入新的文件   ,并且将文件名计数加一         console.log("create new file")         tempFileCount++;         fs.appendFileSync("result"+tempFileCount+".txt",element.wxid+\r,utf8,function(err){},console.log(tempFileCount+: 开始写入))         tempIndex = 0;     } });

用Nodejs解析json数据

nodejs是服务器端的javascript的处理平台         。json(JavaScript Object Notation) 是一种轻量级的数据交换格式      。我们在写服务端的程序时往往需要使用json来处理数据                  。

这里我们用一个简单的例子来演示如何用nodejs来处理json数据文件            。

第一            ,我们需要在ubuntu14.04上安装nodejs                  ,我们可以使用如下命令:

$ sudo apt-get install nodejs

安装完毕, 我们可以使用如下命令进行测试:

$ nodejs -v v0.10.25

第二      ,准备一个测试json文件, test.json         ,内容如下:

{   "person": {     "name": "wanger",     "birth": "1999"   } }

第三                  ,创建js脚本来解析json文件         ,main.js

#!/usr/bin/nodejs var cwd = process.argv[1].substring(0, process.argv[1].lastIndexOf("/")); var fs = require(fs);   function load(file, cb) {         fs.readFile(file, function(err, data) {                 if (err)                         throw err;                 cb(JSON.parse(data.toString()));         }); }   (function() {         if (process.argv.length < 2) {                 console.log("usage\n\t" + process.argv[1] + " loadfile");                 return;         }         load(process.argv[2], function(obj) {                 console.log("%s\n", obj.person.name);                 console.log("%s\n", obj.person.birth);         }); })();

第四      ,测试和运行

$ ./main.js test.json wanger 1999

以上为个人经验                  ,希望能给大家一个参考            ,也希望大家多多支持本站   。

声明:本站所有文章   ,如无特殊说明或标注                  ,均为本站原创发布                  。任何个人或组织               ,在未征得本站同意时,禁止复制      、盗用         、采集                  、发布本站内容到任何网站         、书籍等各类媒体平台               。如若本站内容侵犯了原著者的合法权益               ,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
路由器mw300r设置(路由器怎么选择连接模式?选择MW300RM路由器模式的方法) typescript object类型(Typecho 程序如何调用循环页面、分类、标签代码方法)