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 相关文章推荐
jquery+json实现的搜索加分页效果
Mar 31 Javascript
分享14个很酷的jQuery导航菜单插件
Apr 25 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 Javascript
Angular 4环境准备与Angular cli创建项目详解
May 27 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
Jul 07 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
Angular中的$watch方法详解
Sep 18 Javascript
面包屑导航详解
Dec 07 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
Jul 13 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 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中的日期处理方法集锦
2007/01/02 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
2016/06/24 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
JavaScript模块详解
2017/12/18 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
Python语法分析之字符串格式化
2019/06/13 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
手机银行营销方案
2014/03/14 职场文书
《金子》教学反思
2014/04/13 职场文书
视光学专业自荐信
2014/06/24 职场文书
社团招新宣传语
2015/07/13 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang