码迷,mamicode.com
首页 > Web开发 > 详细

json parse 解析js function

时间:2020-07-26 00:18:59      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:href   operator   login   http   资料   java   evel   tor   isa   

前边有简单介绍过基于json-fn 解析处理json function 的,以下是一个整理

json.parse 的签名

JSON.parse(str, reviver)

解决说明

我们可以基于reviver 处理function

处理的方法

通过evel 以及Function 对象

参考方法

reviver 为使用evel 的,reviver2为使用Function 对象的

const jsonfn = require(‘json-fns‘)
const reviver = (key, value) => {
    if (typeof value !== ‘string‘) {
      return value
    }
?
    if (value.indexOf(‘function‘) === 0) {
      /* eslint-disable-next-line no-eval */
      return eval(`(${value})`)
    }
}
?
const reviver2 = (key, value) => {
    if (typeof value !== ‘string‘) {
      return value
    }
?
    if (value.indexOf(‘function‘) === 0) {
      /* eslint-disable-next-line no-eval */
      return new Function(`return ${value}`)()
    }
}
?
?
let userids = {
    fetchid: function () {
        return Promise.resolve({
            name: "dalong1",
            age: 22
        })
     },
    fetchtext: function () { 
        return Promise.resolve({
            name: "dalong2",
            age: 33
        })
    },
    login: function () {
        return Promise.resolve({
        name: "dalong3",
        age: 44
    })}
}
?
const tep = jsonfn.stringify(userids)
console.log(tep)
const result = JSON.parse(tep,reviver)
const result2 = JSON.parse(tep,reviver2)
console.log(result)
console.log(result2)
 
 

参考资料

https://github.com/rogeriopvl/json-fns/blob/master/json-fns.js

json parse 解析js function

标签:href   operator   login   http   资料   java   evel   tor   isa   

原文地址:https://www.cnblogs.com/rongfengliang/p/13376557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!