1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 把html转换为json数据 HTML转成JSON数据

把html转换为json数据 HTML转成JSON数据

时间:2023-03-31 11:10:43

相关推荐

把html转换为json数据 HTML转成JSON数据

例如以下HTML

01010004一次性注射器10ml

要转换成 {"ID":"01010004","Name":"一次性注射器","Specification":"10ml"} 进行存储

有什么插件或者思路

补充如下:

HTML结构:

且或且

沈阳

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

重庆

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

西安

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

广州

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

深圳

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

长春

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

上海

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

属于

不属于

包含

不包含

为空

非空

开头是

结尾是

JS方法如下:(采用jQuery)

function getFilterTableData(tableID) {

var operatorMap = {

1: 'AND',

2: 'OR'

};

var conditionAndRangeMap = {

condition: function($obj) {

return $obj.children('select').val()

},

pickRange: function($obj) {

return {

val: $obj.children('select').val(),

mode: 'select'

}

},

editRange: function($obj) {

return {

val: $obj.children('input').val(),

mode: 'input'

}

},

nullRange: function($obj) {

return

}

};

var c = '.tableStyle-2-container',

h = '.tableStyle-2-operator',

b = '.tableStyle-2-content',

l = '.tableStyle-2-content-list',

li = '.tableStyle-2-content-list-unitRow',

label = '.unitRow-label';

var result = {};

var $start = $(tableID).children();

var looper = function($c, data) {

var $unitH = $c.children(h), //操作符

$unitB = $c.children(b), //内容

$unitB_children = $unitB.children(); //内容子节点

//如果有操作符

if($unitH.length) {

data.type = operatorMap[$unitH.attr('operator')];

}

//存储子节点信息

data.children = [];

//如果内容有子节点

if($unitB_children.length) {

var $unitL = $unitB.children(l); //内容 - 列表

var $unitC = $unitB.children(c); //内容 - 容器

if($unitL.length) {

var children = [];

var $lis = $unitL.children(li);

for(var i = 0, length = $lis.length; i < length; i++) {

var $label = $lis.eq(i).children(label);

var $condition = $label.next();

var $range = $condition.next();

var unitRowData = $.extend({

col: $label.text()

}, {

rel: conditionAndRangeMap[$condition.attr('class').split('-')[1]]($condition),

}, conditionAndRangeMap[$range.attr('class').split('-')[1]]($range));

children.push(unitRowData);

}

data.children.push({

children: children

});

}

if($unitC.length) {

data.children.unshift({});

looper($unitC, data.children[0]);

}

}

}

looper($start, result);

return result

}

var resultData = getFilterTableData('#businessData-filter-table');

console.log(JSON.stringify(resultData));

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。