使用nodejs解析json数据

 更新时间:2022年09月28日 14:55:45   作者:tlight  
这篇文章主要介绍了使用nodejs解析json数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

node.js解析本地json

具体操作:

从文件读取json并且解析字符串为json对象

从文件读取json

node.js中的文件操作基本都是在fs模块中,这里用的是同步读取文件,读出来是个字符串。

const fs    = require('fs');
var jsonfile = fs.readFileSync(__dirname+"/test.json", "utf8");
console.log(jsonfile);

其中require(‘fs’): 导入fs模块

readFileSync(“文件路径”,“编码格式”)

注:使用的是同步的方式读取的文件

解析json字符串为json对象

jsonplust是解析json的一个开源库使用非常简单。 

安装:

npm install --save-dev jsonplus

使用:

var jsonplus = require('jsonplus');
// Parse like you would with JSON.parse
var response = jsonplus.parse(jsonfile);
console.log(response["type"]);

其中require(‘jsonplus’)导入jsonplus模块

jsonplus.parse(jsonfile)

jsonfile是刚刚从json文件中读出来的字符串

接着就可以用json对象的方式访问里面的数据了。

扩展

该模块还可以使用模板方法:

Resolve函数:

var resolve = require('jsonplus').resolve
// This will resolve all reference strings on the given object
var object = resolve(AlreadyParsedJSON);
// resolve has a second argument, which provides the context for references
var object = resolve({ full: '{{ first }} {{ last }}' }, { first: 'john', last: 'doe' });
console.log(object) // { full: 'john doe' }

参考资料-github地址

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

相关文章

  • linux 下以二进制的方式安装 nodejs

    linux 下以二进制的方式安装 nodejs

    这篇文章主要介绍了linux 下以二进制的方式安装 nodejs,文中给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • node.js实现快速截图

    node.js实现快速截图

    本文给大家汇总介绍了几种node.js实现快速截屏的方法,这里分享给大家,希望大家能够喜欢。
    2016-08-08
  • Node.js下自定义错误类型详解

    Node.js下自定义错误类型详解

    在JavaScript里面,运行过程中的错误的类型总是被人忽略,这篇文章给大家详细介绍了如何在Node.js下自定义错误类型,对大家学习或者使用Node.js具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • Node.js 实现简单的无侵入式缓存框架的方法

    Node.js 实现简单的无侵入式缓存框架的方法

    这篇文章主要介绍了Node.js 实现简单的无侵入式缓存框架的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 推荐 21 款优秀的高性能 Node.js 开发框架

    推荐 21 款优秀的高性能 Node.js 开发框架

    Node.js是JavaScript中最为流行的框架之一,易于创建可扩展的Web应用。Node.js包含不同类型框架,包括MVC, full-stack,REST API以及Generators。借助这些框架使Node.js更加易于使用,它还支持众多特性功能,只需几个步骤就可快速搭建强大的Web应用。本文为大家推荐21款
    2014-08-08
  • node如何实现简单的脚手架浅析

    node如何实现简单的脚手架浅析

    在工作中,需要开发一个脚手架,用于给相关用户提供相关的开发便利性,下面这篇文章主要给大家介绍了关于node如何实现简单的脚手架的相关资料,需要的朋友可以参考下
    2022-05-05
  • Node.js操作系统OS模块用法分析

    Node.js操作系统OS模块用法分析

    这篇文章主要介绍了Node.js操作系统OS模块用法,结合实例形式分析了nodejs OS模块常见函数功能及简单使用技巧,需要的朋友可以参考下
    2019-01-01
  • 详解前端任务构建利器Gulp.js使用指南

    详解前端任务构建利器Gulp.js使用指南

    这篇文章主要介绍了前端任务构建利器Gulp.js使用指南,对Gulp.js感兴趣的同学,可以参考下
    2021-04-04
  • node+koa+canvas绘制出货单、收据票据的方法

    node+koa+canvas绘制出货单、收据票据的方法

    在生成票据需求中,我们会想到前端生成或者后端生成返回图片地址访问两个方法,前端生成则不需要调用接口,而后端是在完成整个流程时就进行生成然后把上传的地址保存数据库,这篇文章主要介绍了node+koa+canvas绘制出货单,收据,票据,需要的朋友可以参考下
    2022-09-09
  • node结合swig渲染摸板的方法

    node结合swig渲染摸板的方法

    本篇文章主要介绍了node结合swig渲染摸板的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论