Node.js JSON模块用法实例分析


Posted in Javascript onJanuary 04, 2019

本文实例讲述了Node.js JSON模块用法。分享给大家供大家参考,具体如下:

一、JSON.stringify语法:

JSON.stringify(value [, replacer] [, space])

value:是必选字段。就是你输入的对象,比如数组,类等。

replacer(可选参数):它又分为2种方式,一种是数组,第二种是方法。

(1)replacer为数组时,表示的是Key,只有在类中有出现过的Key的键值对(Key-Value)才会在转化的结果中出现。
replacer数组仅对输入参数是类的情况有效,如果输入参数是数组则直接忽略该参数。

(2)replacer为方法时,表示把每一个“键值对”作为参数送入函数中,然后用处理后的Value值替代原Value值输出到转化的结果中。
replacer为方法仅对输入参数是数组的情况有效,如果输入参数是类则直接忽略该参数。

space(可选参数):就是用什么来做分隔符的。

(1)如果省略的话,那么在每个键值对(”Key”:Value)就没有分隔符,否则会默认添加一个换行符 ‘\n' 加上该分隔符。

(2)如果是字符串或者是转义字符,则会在每一个键值对(”Key”:Value)添加上换行符 ‘\n'(包括第一个键值对),然后再加上该分隔符。

var person = new Object();
person.name = 'chy';
person.age = 24;
person.city= ['FuZhou', 'XiaMen'];
var replacerArr = [ 'name', 'city', 'unknown' ];
var space = '-*-';
JSON.stringify(person);
//输出 '{"name":"city","age":24,"city":["FuZhou","XiaMen"]}'
JSON.stringify(person, replacerArr);
//输出 '{"name":"chy","city":["FuZhou","XiaMen"]}'
JSON.stringify(person, function(key, value) {
  console.log("key = " + key);
  return value.toString().toUpperCase();
});
/*
输出
key =
'"[OBJECT OBJECT]"'
*/
var personArr = [ 'Bob', 'Tina', 'Tom', 'bob', 'Linda' ];
var replacerArr = [ 'name', 'city', 'unknown' ];
var space = '-*-';
JSON.stringify(personArr);
//输出 '["Bob","Tina","Tom","bob","Linda"]'
JSON.stringify(personArr, replacerArr);
//输出 '["Bob","Tina","Tom","bob","Linda"]'
JSON.stringify(personArr, function(key, value) {
  console.log("key = " + key);
  return value.toString().toUpperCase();
});
/*
输出
key =
'"BOB, TINA, TOM, BOB, LINDA"'
*/

二、JSON.parse语法:

JSON.parse(string)

待解析的字符串无论是键还是值,都必须用”双引号”括起来。注意是双引号,单引号无效。

JSON.parse('{name:"chy"}');
//输出 SyntaxError: Unexpected token n in JSON at position 1
JSON.parse("{'name':'chy'}");
//输出 SyntaxError: Unexpected token ' in JSON at position 1
JSON.parse('{"name":"bob"}');
//输出 { name: 'bob' }
JSON.parse("{\"name\":\"bob\"}");
//输出 { name: 'bob' }
JSON.parse('{"age":1}');
//输出 { age: 1 }
Javascript 相关文章推荐
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
Oct 07 Javascript
JS克隆,属性,数组,对象,函数实例分析
Nov 26 Javascript
微信小程序动态添加分享数据
Jun 14 Javascript
jQuery自定义多选下拉框效果
Jun 19 jQuery
javaScript中封装的各种写法示例(推荐)
Jul 03 Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 Javascript
Vue 按键修饰符处理事件的方法
May 04 Javascript
webpack多入口多出口的实现方法
Aug 17 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
泛谈JS逻辑判断选择器 || &&
May 24 Javascript
原生js实现九宫格拖拽换位
Jan 26 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 #Javascript
Node.js assert断言原理与用法分析
Jan 04 #Javascript
如何为vuex实现带参数的 getter和state.commit
Jan 04 #Javascript
原生javascript实现连连看游戏
Jan 03 #Javascript
JavaScript键盘事件常见用法实例分析
Jan 03 #Javascript
JavaScript常见鼠标事件与用法分析
Jan 03 #Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 #Javascript
You might like
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
网络传输协议(http协议)
2016/11/18 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
python读写csv文件方法详细总结
2019/07/05 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
Oracle快照(snapshot)
2015/03/13 面试题
安全协议书
2014/04/23 职场文书
导游个人求职信
2014/04/25 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
质量整改报告范文
2014/11/08 职场文书
产品调价通知函
2015/04/20 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
简单谈谈Python面向对象的相关知识
2021/06/28 Python
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技