如何用Nodejs读取Json文件,处理数据后写入新文件?

2026-04-02 21:091阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计747个文字,预计阅读时间需要3分钟。

如何用Nodejs读取Json文件,处理数据后写入新文件?

目录:处理Json文件并将数据写入新文件

1. 问题描述

2.实现过程

3.使用Node.js解析Json数据

4.处理Json文件并将数据写入新文件

5.问题描述

6.事件是这样的,朋友让我处理一个Json文件

目录
  • 处理Json文件并将处理后的数据写入新文件
    • 问题描述
    • 实现过程
  • 用Nodejs解析json数据

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

    问题描述

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

    [     {         "head_img": "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数据文件。

    如何用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

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    标签:数据写入

    本文共计747个文字,预计阅读时间需要3分钟。

    如何用Nodejs读取Json文件,处理数据后写入新文件?

    目录:处理Json文件并将数据写入新文件

    1. 问题描述

    2.实现过程

    3.使用Node.js解析Json数据

    4.处理Json文件并将数据写入新文件

    5.问题描述

    6.事件是这样的,朋友让我处理一个Json文件

    目录
    • 处理Json文件并将处理后的数据写入新文件
      • 问题描述
      • 实现过程
    • 用Nodejs解析json数据

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

      问题描述

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

      [     {         "head_img": "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数据文件。

      如何用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

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

      标签:数据写入