使用nodejs解析json数据

目录
  • nodejs解析json数据
    • 第一
    • 第二
    • 第三
    • 第四
  • node.js解析本地json
    • 从文件读取json
    • 解析json字符串为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地址

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

(0)

相关推荐

  • nodejs将JSON字符串转化为JSON对象报错的解决

    如何将JSON字符串转化为JSON对象? JSON.parse(str) JSON是javascript的一个内置对象,提供了转换JSON对象与字符串互相转换的方法: 问题来了,道理我都懂可是就是报错! 这是我的一个JSON文件,里面是一些定义的JSON测试数据: 这是核心代码: 这是报错的信息: 为什么报错? 因为我的json文件读出来的开头有一个空格.就这回事. ok,修改代码,测试 使用trim去掉开头多余的空格 ok,通过! nodejs解析JSON数据 在nodejs中不用像在js中一

  • 详解利用nodejs对本地json文件进行增删改查

    哈喽!nodejs的文件系统,接触过node的对node的文件系统肯定不会陌生,这两天我就在思考一个问题,我是否可以在本地操作我的本地json文件,这样一个本地的文本数据库就有了,如果是便签之类,记录的软件,我完全可以不用连后台的数据库,我可以自己操作本地的json文件,自己用node写后台,答案是肯定的,下面我们就一起来实现一下吧,对本地json文件的增.删.改.查 1.增 首先我们先看一下demo的目录结构 我们看一下person.json的内容 没毛病,接下来就是见证奇迹的时刻了 下面写n

  • nodejs读写json文件的简单方法(必看)

    nodejs 读json文件 var fs=reauire('fs'); var file="d:\\0.json"; var result=JSON.parse(fs.readFileSync( file)); //操作对象 nodejs 写json文件 var coors = {}; coors.left_top = {}; coors.right_top = {}; coors.left_bottom = {}; coors.right_bottom = {}; //填充coor

  • 在nodeJs中如何修改json文件中的数据

    目录 nodeJs修改json文件中的数据 node.js批量处理json文件 心理活动 实操 nodeJs修改json文件中的数据 // 注意,在内部读取文件不能访问 json 文件中的属性,不知道为什么,所以在外部读取文件 const detailArr = require('./data/Details_shoplist_info.json'); app.get('/api/modify_details_info',function (req, res) { // 获取 GET 的请求数据

  • Delphi中使用ISuperObject解析Json数据的实现代码

    Java.Php等语言中都有成熟的框架来解析Json数据,可以让我们使用很少的代码就把格式化好的json数据转换成程序可识别的对象或者属性,同时delphi中也有这样的组件来实现此功能,即IsuperObject.如果还没有这个组件的请在网上搜索下载或者在下面留言处留下你的邮箱向本人索取. 下面先说一下ISuperObject中几个常用的函数 function SO(const s: SOString = '{}'): ISuperObject; overload; 此函数传入json数据字符串

  • 利用Golang解析json数据的方法示例

    本文主要给大家介绍的是关于Golang解析json数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 使用 Golang 解析 json 数据,这种 json 格式是对象的数组,官方文档有一个示例: var jsonBlob = []byte(`[ {"Name": "Platypus", "Order": "Monotremata"}, {"Name": "Quoll

  • jQuery解析json数据实例分析

    本文实例分析了jQuery解析json数据的方法.分享给大家供大家参考,具体如下: 先来看看我们的Json数据格式: [ {id:01,name:"小白",old:29,sex:"男"}, {id:02,name:"小蓝",old:29,sex:"男"}, {id:03,name:"小雅",old:29,sex:"男"} ] 为了消除乱码问题,我们设置一个过滤器(代码片段) public

  • Jquery解析json数据详解

    最近被jquery折磨了一番,倒腾了一个jquery解析json的demo,本demo想实现从asp.net后台实例化dataSet或者dataTable数据集,将dataSet转换成json并返回给客户端,客户端用jquery getJson方法解析出来并显示在页面上. 首先简单介绍一下getJson方法 Jquery.getJson(url,[data],[callback]) url:发送请求地址.data:待发送 Key/value 参数.callback:载入成功时回调函数. 下面是实

  • Spring Boot使用FastJson解析JSON数据的方法

    个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢? 1.引入fastjson依赖库: <!--添加fastjson解析JSON数据--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <versio

  • springboot实现FastJson解析json数据的方法

    最近在研究springboot实现FastJson解析json数据的方法,那么今天也算个学习笔记吧! 添加jar包: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> 两种方式启动加载类: 第一种继承WebMvcConfigur

  • 使用Java构造和解析Json数据的两种方法(详解二)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Json数据的方法

  • 使用Java构造和解析Json数据的两种方法(详解一)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Json数据的方法

  • JAVA使用Gson解析json数据实例解析

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成.同XML一样是一种"传输格式".JSON采用与编程语言无关的文本格式,便于数据传输.存储.交换. 封装类Attribute: public class Attribute { private int id; private String name; private int age; public int getId() { return id; } p

  • JavaScript中解析JSON数据的三种方法

    概述 现在JSON格式在web开发中越来越受重视,特别是在使用ajax开发项目的过程中,经常需要将json格式的字符串返回到前端,前端解析成JS对象(JSON ). ECMA-262(E3)中没有将JSON概念写到标准中,还好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 解析JSON数据的三种方法 eval()方法 解析JSON数据的最常用方法是使用javascript的eval()方法,代码如下: 复制代码 代码如下: func

随机推荐