解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script>
    $(function(){
    var json={};
    var tesrArr=[];
    $("table tr").each(function(index, element) {
    var td1=$(this).find("td:eq(0)");
    var td2=$(this).find("td:eq(1)");
    var arr=[];
    var preO=tesrArr.findObj("class",td1.text());
    if(preO)
             preO.value.push(td2.text());
    else
    tesrArr.push({"class":td1.text(),value:[td2.text()]});
        });
    var result={"test":tesrArr};
    console.log(result);//result即为所求的json对象
    })
    Array.prototype.findObj=function(key,value)
    {
    for(var i=0;i<this.length;i++)
    {
    if(this[i][key]&&this[i][key]==value)
    return this[i];
    }
    return null;
    }
    </script>
    </head><body>
    <table>
    <tr><td>A</td><td>20</td></tr>
        <tr><td>B</td><td>30</td></tr>
        <tr><td>A</td><td>40</td></tr>
        <tr><td>B</td><td>50</td></tr>
        <tr><td>A</td><td>60</td></tr>
        <tr><td>C</td><td>70</td></tr>
    </table>
    </body>
    </html>
      

  2.   

    另外,以上最终的结果格式类似如下{"test ":[
    {"class":"A","value":[12,13]},
    {"class":"B","value":[20,30,50]}
    ]}
      

  3.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
            </script>
    <script>
    $(function(){
    var tab=$("table tr");//表格的所有TR
    if(tab==null||tab.size()==0)
    return null;var str=[];
    tab.each(function(ky,v){
    var k=$("td", this).eq(0).text();//遍历取得行的第一个单元格
    var array=findByKey(str,k);//按第一个单元格值,去找以该值为KEY的字面量if(array==null){//没找到就创建一个
    var newarray={};
    newarray.class=k;
    newarray.val=[{"value":$("td", this).eq(1).text()}];
    str.push(newarray);
    }
    else{//已经存在,添加值
    array.val.push({"value":$("td", this).eq(1).text()});}
    });
    var json={};
    json.test=str;
    alert(JSON.stringify(json));//json转成字符串
    })function findByKey(array,key){//遍历查找
    var sr=null;
    $(array).each(function(k,v){
    if(v.class==key){
    sr= v;}
    return true;
    });
    return sr;
    }
    </script>
    </head><body onload="">
          <table >
    <tr><td>A</td><td>2890</td></tr>
     <tr><td>B</td><td>720</td></tr>
    <tr><td>A</td><td>210</td></tr>
    <tr><td>C</td><td>220</td></tr>
    <tr><td>A</td><td>420</td></tr>
    <tr><td>D</td><td>240</td></tr>
    <tr><td>C</td><td>220</td></tr>
    <tr><td>C</td><td>220</td></tr>
    <tr><td>F</td><td>220</td></tr>   </table>
    </body>
    </html>
      

  4.   

    var $data = [["A",12],["B",20],["B",32],["A",28],["B",23]];

    function groupByName(list){
    var obj={},i,len=list.length;
    for(i=0;i<len;i++){
    var key = list[i][0];
    obj[key] = obj[key] || [];
    obj[key].push(list[i]);
    }
    return obj;
    }
    function toMyFormat(list){
    var key,arr=[];
    for(key in list){
    var obj = {};
    obj['class'] = key;
    var v = list[key],len=v.length,i;
    for(i=0;i<len;i++){
    obj['val'] = obj['val'] || [];
    var objval = {};
    objval['value'] = v[i][1];
    obj['val'].push(objval);
    }
    arr.push(obj);
    }
    return arr;
    }
    function addTest(arr){
    var obj = {};
    obj['test'] = arr;
    return obj;
    }
    var $d = groupByName($data);
    var $myFormat = toMyFormat($d);
    var $jso = addTest($myFormat);
    var $js = JSON.stringify($jso);