<table id="table" style="width: 100%;" cellpadding="0" cellspacing="0"> <thead> <tr> <td>颜色</td> <td>套餐</td> <td>版本</td> <td>价格</td> <td>数量</td> <td>编号</td> <td>条形码</td> </tr> </thead> <tbody> <tr> <td rowspan="4">红色</td> <td rowspan="2">套餐四</td> <td>港货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td>日货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td rowspan="2">套餐八</td> <td>港货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td>日货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td rowspan="4">蓝色</td> <td rowspan="2">套餐四</td> <td>港货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td>日货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td rowspan="2">套餐八</td> <td>港货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> <tr> <td>日货</td> <td>99.9</td> <td>100</td> <td>123456789</td> <td>987654321</td> </tr> </tbody> </table>
我这是一个html的表格,行列都是不确定的,上面数据只是一种例子。
用js怎么把此数据表格转化成一个json数据,并且也可以把json数据转化成这中表格,是双向的。应该如何实现呢。
json的格式我已经定义好了,不过中间的过程转化确实感觉不好实现,有哪位大神能帮忙解决一下啊。求一个读写转化的方法。给点思路也行啊 ~~~大神
下面是json格式:
var _77 = { "Category": [ "机身颜色", "套餐类型", "机身内存", "版本型号" ], "Series": [ { "红": [ { "套餐四": [ { "1.5GB": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ], "64GB以上": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ] } ] }, { "套餐八": [ { "1.5GB": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ], "64GB以上": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ] } ] } ] }, { "蓝": [ { "套餐四": [ { "1.5GB": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ], "64GB以上": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ] } ] }, { "套餐八": [ { "1.5GB": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ], "64GB以上": [ { "港澳台": [ 99.9, 100, "4561545613", "123456789" ], "日本": [ 88.8, 222, "9876453142", "654789313" ] } ] } ] } ] } ] }
遍历JSON对象,构造HTML代码,有个地方要处理好,就是跨行!
方法我知道怎么实现,就是现在方法体内的逻辑不好写,而且还得要做逆向的解析,不只是单向的。
@老江湖: 这样呢,你先不要处理合并行的问题,先直接输出一个无合并行的table,然后再调用一个合并行的JS插件来实现合并,展示出来。
@Alex_QY1987: 谢谢了,就是按照你的这种思路来实现的,膜拜膜拜。
@Alex_QY1987: 我也想知道这个问题,初学者看不懂,能不能直接上代码
循环生成html就行了啊~
我知道是循环生成html,但是现在是不知道该如何循环,才能生成html.然后又不知道该如何从html逆向生成json. 方法具体怎么实现你知道吗?
@老江湖: 转换为json对象后,可以当成List<T>这样的数据类型去处理。for(var i=0,len=arr.length;i<len;i++){}
@幻天芒: 虽然没明白你得思路但是也非常感谢。
@老江湖: :)