把固定字符串转化为json,请问该如何封装呢

发布于 2022-09-05 06:14:14 字数 555 浏览 21 评论 0

例如有post提交的字符串如下
a=test&b=test1&c=test2
想转化为json便于曲直

现用方法为

function post2json(option) {
    let str = ''
    option.split('&').map(function(e){
        str = str + "," + e.split('=')[0] + ":'" + e.split('=')[1] + "'" 
    })
    str = str.slice(1);
    return str;
}
module.export = post2json;

调用的时候要require后
let post2json = require('./post2json')
post2json.post2json('a=1&b=2&c=3')

感觉不是太方便
如果想让写法为 let json = 'a=1&b=2&c=3'.post2json
请问该如何封装呢,用prototype

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

溺深海 2022-09-12 06:14:14

String.prototype.post2json = function(option){

.....

}

花开柳相依 2022-09-12 06:14:14

要使用的prototype链上加

蓝海 2022-09-12 06:14:14

Q

编写 queryParser 完成解析

function queryParser(query){
    return query.split('&').map(function(e){
        var keyVal = e.split('=');
        var o = {};
        o[keyVal[0]] = keyVal[1];
        return o;
    }).reduce(function(acc, curr){
        var keys = Object.keys(curr);
        keys.forEach(function(key){
            acc[key] = curr[key]; 
        }); 
        return acc; 
    }, {});
}

[[ HINT ]]

  1. split & 分隔开查询字符串 便于处理 key=value 这样的字符串

  2. split = 以区分 keyvalue

  3. reduce 将结果归约在一个对象上

S

clipboard.png

N

如果想要变成 json 简单的封装一下。

var query2json(query){
    var queryObj = queryParser(query);
    return JSON.stringify(queryObj); 
}

H

。。。。 其实如果是 node 可以用 querystring 库来处理查询字符串的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文