我已经在html页面上序列化数据并想要处理它。
我的数据格式如下:
"lusername=unm1&lpassword=p1&lpassword=p2""lusername=unm2&lpassword=unm2p1&lpassword=unmp2""wusername=unmw1&wpassword=pw1&wpassword=pw2
w2""wusername=unmw2&wpassword=pw1""snmpsettings=pqr""subnet=1.1.1.1"
我想处理上述数据以将最终数据字符串整理为:
lusername=unm1;lpassword=p1,p2;
lusername = unmw2; lpassword = pw1,pw2;
snmpsettings = pqr
如何对我的数据进行deserilize以获得高于输出的效果?
答案 0 :(得分:0)
您可以对特定字符进行拆分,请参阅:How do I split a string, breaking at a particular character?
您可能需要进行多次拆分才能获得正确的数组结构和值。
答案 1 :(得分:0)
你可能正在寻找这样的东西:
var data = '"lusername=unm1&lpassword=p1&lpassword=p2""lusername=unm2&lpassword=unm2p1&lpassword=unmp2""wusername=unmw1&wpassword=pw1&wpassword=pw2w2""wusername=unmw2&wpassword=pw1""snmpsettings=pqr""subnet=1.1.1.1"',
objs = data.split(/"{1,2}/);
var newArr = [];
$.each(objs,function( i, item ) {
if( item !== "" ) {
var parts = item.split( '&' ),
x = {};
$.each( parts, function( index, value ) {
var key = value.split( '=' )[0],
val = value.split( '=' )[1];
x[ key ] = ((!!x[ key ]) ? x[ key ] + ',' : '') + val;
});
newArr.push( x );
}
});
console.log( newArr );
这是一个有效的演示:JS FIDDLE DEMO