解析JSON串的时候有替代JSON.parse的其他方案么
 发布于 10 年前  作者 luoyjx  8364 次预览  最后一次回复是 10 年前  来自 问答 

小伙伴们解析JSON串的时候有替代JSON.parse的其他方案么

每次都加try catch很麻烦~

14 回复
chita

异常处理用promise

luoyjx

@chita 就解析而言,不讨论流程

leapon

把 try catch 挪到个函数里,就不用每次都加try catch了

chita

@luoyjx json 解析 json.parse是标准方法, 看起来你的问题是觉得 try 和catch 太麻烦,而不是json.parse 有问题

luoyjx

@leapon 已经搬了~话说只能做到这里了么

leapon

@luoyjx 你理想的处理方法是什么样子?

luoyjx

@leapon 不需要套try catch

idreamshen

用 is 库检查传入的字符串是否为 JSON 格式。

var str = '{"a":"b"}';
var output;

var isJson = is.json(str)
if (isJson) {
	output = JSON.parse(str);
}

https://github.com/arasatasaygin/is.js

但是这样效率似乎会低一点

luoyjx

@idreamshen 好的,我看看先

ystyle

前端用jq,后端就不知道了 自豪地采用 CNodeJS ionic

captainblue2013

这是最原生的方法,其他封装都是基于这个的,应该是最好的了, 非要自己解释的话,大概没几个人敢说比官方好。

luoyjx

@captainblue2013 是啊,也只能把try catch丢函数里了

weierbufan

JSON.parse已经是原生的方法了,我以前也怀疑过,但是其他的库封装的也是这个东东,用起来还不如这个性能好呢。。。

luoyjx

@weierbufan 嗯。。。目前的做法就是丢到一个公共函数里了