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 相关文章推荐
window.location和document.location的区别分析
Dec 23 Javascript
通过DOM脚本去设置样式信息
Sep 19 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
Aug 24 Javascript
jQuery EasyUI 入门必看
Jun 03 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
Sep 21 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
Dec 12 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
Dec 17 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 Javascript
微信小程序新手教程之页面打开数量限制
Mar 03 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 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中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
Node.js笔记之process模块解读
2018/05/31 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
JS面向对象之单选框实现
2020/01/17 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
Python探索之自定义实现线程池
2017/10/27 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python实现俄罗斯方块
2018/06/26 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
Python post请求实现代码实例
2020/02/28 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
python进度条显示之tqmd模块
2020/08/22 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
意大利奢侈品网站:Italist
2016/08/23 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
2014年端午节活动方案
2014/03/11 职场文书
关于运动会的口号
2014/06/07 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
模范教师材料大全
2014/12/16 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers