`
chhj_292
  • 浏览: 37570 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

table 2 json,没有兴趣写下去了,未完,存档

阅读更多
function Table2JsonBuilder(_tblId){
	var _tbl = document.getElementById(_tblId);
	if(!_tbl){
		return;
	}
	this.table = document.getElementById(_tblId);
	this.tableHeader = new Array();
	this.json = {};
}

Table2JsonBuilder.prototype.extend = function(_destination,_source){
	for (var p in _source) {
		_destination[p] = _source[p];
	}
	return _destination;
}

var Element = new Object();
Element.Methods = {
	findNodes : function(_tagName){
		var _clds = this.childNodes;
		if(!_clds)
			return null;
		var clds = new Array();
		for(var i=0,j=_clds.length; i<j; i++){
			var node = _clds[i];
			if(!node)
				continue;
			if(!node.tagName)
				continue;
			if(node.tagName.toLowerCase() != _tagName.toLowerCase()){
				continue;
			}
			clds.push(node);
		}
		return (clds.length == 0)? null: clds;
	}
}

Table2JsonBuilder.prototype.build = function(){
	this.table = this.extend(this.table,Element.Methods);
	var _theads = this.table.findNodes("thead");
	if(_theads == null || _theads.length == 0){
		alert("错误:该表格为非标准格式[table无thead元素]!");
		return;
	}
	var _thead = _theads[_theads.length - 1];
	if(!_thead.childNodes){
		alert("错误:该表格为非标准格式[thead无任何子元素]!");
		return;
	}
	var _tr = _thead.childNodes[_thead.childNodes.length - 1];
	_tr = this.extend(_tr,Element.Methods);
	var _ths = _tr.findNodes("th");
	if(_ths == null || _ths.length == 0){
		alert("错误:该表格为非标准格式[thead无th元素]!");
		return;
	}
	this.tableHeader = _ths;
	var _tbodys = this.table.findNodes("tbody");
	if(_tbodys == null || _tbodys.length == 0){
		return;
	}
	for(var i=0,j=_tbodys.length; i<j; i++){
		var _tbody = _tbodys[i];
		var _trs =  _tbody.childNodes;
		
		for(var m=0,n=_trs.length; m<n; m++){
			var _tr = _trs[m];
			var _tds = _tr.childNodes;
			
			var els = {};
			for(var o=0,p=_tds.length; o<p; o++){
				var td = _tds[o];
				var a = _ths[m].innerHTML;
				els.a = td.innerHTML;
			}
			
			this.json.tr = els;
		}
	}
}

window.onload = function(){
	var builder = new Table2JsonBuilder("marksTbl");
	builder.build();
}
 
分享到:
评论

相关推荐

    Table2JSONTree_C#根据TABLE产生JSON树_jsontree2table_

    在描述中提到的"Table2JSONTree_C#根据TABLE产生JSON树_jsontree2table_"是一个关于将数据库中的表格数据转换为JavaScript Object Notation (JSON)树形结构的过程。这种转换在前端开发中非常常见,特别是在需要在...

    tabletojson的js

    6. **注意事项**: 在实际应用中,要确保表格结构清晰,没有嵌套表格或不规则的布局,因为这可能导致`tabletojson`无法正确解析。同时,确保所有表头都有文本内容,因为它们将作为JSON对象的键。 7. **与其他库的...

    table to JSON, JSON to table

    JSON解析 JSON转为TABLE Table转化为JSON

    life-expectancy-table.json

    life-expectancy-table.json

    bootstrap-table动态加载json数据并且支持分页

    本主题主要关注如何在Bootstrap Table中动态加载JSON数据并实现分页功能。 首先,我们需要理解Bootstrap Table的基本结构。一个基本的Bootstrap Table可以通过以下HTML代码创建: ```html &lt;table id="table" data-...

    json转lua-table工具

    2. JSON没有内建的true/false值,它们在Lua中对应于boolean类型的true/false。 3. JSON的null值在Lua中通常转换为nil。 使用这个脚本,开发者可以将JSON格式的配置文件或网络请求响应转换为可以直接在Lua环境中使用...

    前端开源库-tabletojson

    在浏览器环境中,可以使用`&lt;script&gt;`标签直接引入`dist/tabletojson.min.js`或`src/tabletojson.js`。如果是Node.js环境,可以通过npm安装`tabletojson`包,然后在项目中导入。 使用`tabletojson`库非常简单。假设...

    Table转换为json

    2. 序列化对象为JSON:将对象或数组转换为JSON字符串。 3. 验证JSON格式:检查JSON数据是否符合特定的JSON Schema。 4. 深度复制:创建JSON对象的副本,避免对原始数据的修改影响到其他地方。 5. 转换嵌套结构:处理...

    把数据库的table表转换成json格式的字符串

    将数据库的Table表转换成JSON格式的字符串是数据处理与传输中的常见需求,尤其是在Web开发领域,这种转换有助于实现前后端的数据交互,因为JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...

    ZUI2_JSON2_/UI2/CL_JSON_ui2/cl_json_abap_Ui2_cl_json_zui2_json_源

    标题中的"ZUI2_JSON2_/UI2/CL_JSON_ui2/cl_json_abap_Ui2_cl_json_zui2_json_源"可能指的是一个与ZUI2相关的项目,它利用了ABAP类/UI2/CL_JSON来解析和生成JSON数据。描述中提到,我们需要用到这个类来将JSON格式的...

    一个用于将JSON数据转换为Table的JavaScript库

    2. **基本使用**:在JavaScript中,你可以创建一个JSON对象,然后调用库的`convertToJsonTable`函数,传入JSON数据作为参数。这个函数会返回一个HTML字符串,可以直接插入到页面的某个元素中,如`document....

    grouped_table.json

    grouped_table.json

    JQ json动态生成table

    2. 在`success`回调中接收JSON数据。 3. 遍历JSON数组,为每个对象创建新的表格行。 4. 对于每个对象的属性,创建一个表格单元格并插入相应的值。 5. 将创建的行添加到表格的`&lt;tbody&gt;`中。 在实际开发中,还需要...

    Go-tablejson是一个能把html中的table转成json的命令行工具

    3. 转换为JSON:将提取的数据结构化为JSON格式,这可能涉及到递归处理嵌套的表格。 4. 输出结果:将JSON数据写入标准输出或指定的文件。 在实际应用中,Go-tablejson可以结合其他工具,如网络爬虫,来自动化地抓取...

    Python库 | json2table-1.1.4.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:json2table-1.1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    tabletojson:一个用于node.js的npm模块,用于将HTML表转换为JSON对象

    表到JSON 尝试将HTML表转换为JSON。 ...还支持promises)。 响应始终是一个数组。... 从2.0版开始,tabletojson... 到const tabletojson = require('../lib/tabletojson').Tabletojson; 或const {Tabletojson: tabletojso

    获取JSON数据,返回Table标签的简单例子

    本示例将讲解如何使用AJAX结合JQuery库,从服务器获取JSON数据,并将这些数据以Table的形式展示在网页上。以下是详细的步骤和相关知识点: 1. **AJAX(Asynchronous JavaScript and XML)**:AJAX并非一种单一的...

    [MVC]bootstrap-table表格ajax获取json数据并分页

    在本文中,我们将深入探讨如何在ASP.NET MVC框架下,利用bootstrap-table插件通过AJAX方式获取JSON数据并实现分页功能。Bootstrap Table是一个轻量级、强大的前端组件,它提供了一种美观的方式来展示和操作表格数据...

    读取json数据动态生成table

    2. 解析JSON数据。 3. 创建HTML表格结构,包括表头和数据行。 4. 遍历JSON数据,为每一条数据创建表格行和单元格。 5. 将表格添加到文档中显示。 通过这种方式,你可以灵活地根据JSON数据的结构动态构建和更新HTML...

Global site tag (gtag.js) - Google Analytics