广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Nodejs处理Json文件并将处理后的数据写入新文件中
  • 1205
分享到

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

Nodejs处理Json文件Json数据写入新文件Nodejs写入json文件 2022-11-13 18:11:30 1205人浏览 独家记忆
摘要

目录处理JSON文件并将处理后的数据写入新文件问题描述实现过程用nodejs解析json数据处理Json文件并将处理后的数据写入新文件 问题描述 事情是这样的,朋友让我处理一个jso

处理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的值。

实现过程

解决问题的方法有很多,可以用pythonnodejs、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

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

--结束END--

本文标题: Nodejs处理Json文件并将处理后的数据写入新文件中

本文链接: https://www.lsjlt.com/news/169886.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作