首页 >社区问答列表 >javascript - 后端传过来的数据格式是这样,如何使用?

javascript - 后端传过来的数据格式是这样,如何使用?

问题:在项目中遇到后端传过来的数据格式是这样的,我该如何去获取BYMONTH中的值?

  INTERVAL=8;BYMONTH=9;BYMONTHDAY=17 
  

思考:自己想到的一个本办法是把它解析成JSON:

  var str = "INTERVAL=8;BYMONTH=9;BYMONTHDAY=17";
  var fiStr = '"' + str.replace(/=/g,'":"').replace(/;/g,'","');
var lastST = '{' + fiStr + '"}';
var Obj = JSON.parse(lastST);
console.log(Obj.BYMONTH)    

提问:
请问这种拿到这样的数据格式,我该如何去处理?

  • 怪我咯
  • 怪我咯    2017-06-30 09:58:444楼

    var res = {};
    str.split(';').map(function(v){
        var i = v.split('=');
        res[i[0]]=i[1];
    });
    console.log(res['BYMONTH']);

    +0添加回复

  • 回复
  • 黄舟
  • 黄舟    2017-06-30 09:58:442楼

    function getUrlParam(sUrl, sKey) {
        var result,Oparam = {};
        sUrl.replace(/[\;]?(\w+)=(\w+)/g,function($0,$1,$2){
           Oparam[$1]=$2;
        });
        sKey === void 0||sKey==='' ? result=Oparam : result=Oparam[sKey]||'';
        return result;
    }
    getUrlParam("INTERVAL=8;BYMONTH=9;BYMONTHDAY=17","BYMONTH")  //9

    +0添加回复

  • 回复