本帖最后由 u010212112 于 2013-04-15 17:49:16 编辑

解决方案 »

  1.   

    在js里面转换成需要的值, 可以使用jquery
      

  2.   

    var data2 = eval("(" + sr + ")");
    var jsonstring2 = data2.obj;
    var tempids = "";
    for (i in jsonstring2) {
    if (tempids.length < 1) {
    tempids = jsonstring2[i].titlename;
    jQuery("#tempids").append(tempids);
    jQuery("#tempids2").append(tempids);
    }
    jQuery("#temptitles").append(
    "<h2><a href='" + jsonstring2[i].tsid + "'>"
    + jsonstring2[i].tsname
    + "</a></h2><ul><li><a href='"
    + jsonstring2[i].tssid + "'>"
    + jsonstring2[i].tssname
    + "</a></li></ul>+"); }
    });得到的结果自动注射器    * 比杨单通道注射泵BYZ-810+
    自动注射器    * 史密斯输液器+
    血压器    * 比杨单通道注射泵BYZ-810+
    血压器    * 比杨单通道注射泵BYZ-810+
    血糖仪    * 比杨单通道注射泵BYZ-810+
    血糖仪    * 比杨单通道注射泵BYZ-810+
    我需要的是自动注射器    * 比杨单通道注射泵BYZ-810    * 史密斯输液器+
    血压器    * 比杨单通道注射泵BYZ-810    * 比杨单通道注射泵BYZ-810+
    血糖仪    * 比杨单通道注射泵BYZ-810    * 比杨单通道注射泵BYZ-810+
      

  3.   

    你在append的时候先判断改tsname在<h2>标签中是否已经存在 存在则将该tssname apend到该tsname下面  
    否则则新创建一个<h2>标签
      

  4.   

    一个循环,依次取tssid和tssname,并按格式输出一样,很简单
      

  5.   

    格式化一下吧
    { "act" : "{\"act\":\"inittemplate\",\"titleid\":\"2\"}",
      "newName" : null,
      "obj" : [ { "titleid" : 2,
            "titlename" : "医疗产品",
            "tsid" : 1,
            "tsname" : "自动注射器",
            "tssid" : 1,
            "tssimg" : "/cy/images/byz01.jpg",
            "tssname" : "比杨单通道注射泵BYZ-810"
          },
          { "titleid" : 2,
            "titlename" : "医疗产品",
            "tsid" : 1,
            "tsname" : "自动注射器",
            "tssid" : 2,
            "tssimg" : "/cy/images/byz01.jpg",
            "tssname" : "史密斯输液器"
          },
          { "titleid" : 2,
            "titlename" : "医疗产品",
            "tsid" : 2,
            "tsname" : "血压器",
            "tssid" : 3,
            "tssimg" : "/cy/images/byz01.jpg",
            "tssname" : "比杨单通道注射泵BYZ-810"
          },
          { "titleid" : 2,
            "titlename" : "医疗产品",
            "tsid" : 2,
            "tsname" : "血压器",
            "tssid" : 4,
            "tssimg" : "/cy/images/byz01.jpg",
            "tssname" : "比杨单通道注射泵BYZ-810"
          },
          { "titleid" : 2,
            "titlename" : "医疗产品",
            "tsid" : 3,
            "tsname" : "血糖仪",
            "tssid" : 5,
            "tssimg" : "/cy/images/byz01.jpg",
            "tssname" : "比杨单通道注射泵BYZ-810"
          },
          { "titleid" : 2,
            "titlename" : "医疗产品",
            "tsid" : 3,
            "tsname" : "血糖仪",
            "tssid" : 6,
            "tssimg" : "/cy/images/byz01.jpg",
            "tssname" : "比杨单通道注射泵BYZ-810"
          }
        ]
    }
      

  6.   

    我想问下楼主,你这是前台数据,干嘛还要这样取
    如果是从后台传过来的数据的话,就用ajax的Json传值,这样好解析些
    你可以像如下方法取得你需要的几个值var obj = msg.obj;
    for(int i=0;i<obj.length,i++){
    var titleid = obj[i].titleid;
    var titlename = obj[i].titleid;
    ...
    }
      

  7.   

    效果图代码   <script type="text/javascript">
       $(function(){
       //$('#tt').tree({
       // url:'EnergyAction!doTree.action'
       //});
       var str={"act":"{\"act\":\"inittemplate\",\"titleid\":\"2\"}","newName":null,"obj":[{"titleid":2,"titlename":"医疗产品","tsid":1,"tsname":"自动注射器","tssid":1,"tssimg":"\/cy\/images\/byz01.jpg","tssname":"比杨单通道注射泵BYZ-810"},{"titleid":2,"titlename":"医疗产品","tsid":1,"tsname":"自动注射器","tssid":2,"tssimg":"\/cy\/images\/byz01.jpg","tssname":"史密斯输液器"},{"titleid":2,"titlename":"医疗产品","tsid":2,"tsname":"血压器","tssid":3,"tssimg":"\/cy\/images\/byz01.jpg","tssname":"比杨单通道注射泵BYZ-810"},{"titleid":2,"titlename":"医疗产品","tsid":2,"tsname":"血压器","tssid":4,"tssimg":"\/cy\/images\/byz01.jpg","tssname":"比杨单通道注射泵BYZ-810"},{"titleid":2,"titlename":"医疗产品","tsid":3,"tsname":"血糖仪","tssid":5,"tssimg":"\/cy\/images\/byz01.jpg","tssname":"比杨单通道注射泵BYZ-810"},{"titleid":2,"titlename":"医疗产品","tsid":3,"tsname":"血糖仪","tssid":6,"tssimg":"\/cy\/images\/byz01.jpg","tssname":"比杨单通道注射泵BYZ-810"}]};    var jsonstring2 = str.obj;
       var tempids = "";
       for (var i=0;i<jsonstring2.length;i++) {
          var as = $('h2 a');// 获取h2标签对象
       var isExist = 0; // 标识tsname是否已经存在
       $.each(as,function(j,value){
    var v = $(this).html();
    if(v == jsonstring2[i].tsname){//存在
    isExist = 1;
    $(this).parent().next('ul').append("<li><a href='"+ jsonstring2[i].tssid + "'>" + jsonstring2[i].tssname + "</a></li>");
    }
    }); if(isExist == 0){//不存在
    jQuery("#temptitles").append(
       "<h2><a href='" + jsonstring2[i].tsid + "'>"
       + jsonstring2[i].tsname
       + "</a></h2><ul><li><a href='"
       + jsonstring2[i].tssid + "'>"
       + jsonstring2[i].tssname
       + "</a></li></ul>+");
    }
      
          }
    });
      
      </script>
      </head>
      
      
      <body><%--
       <ul id="tt" class="easyui-tree"></ul>
        
        <div id="tempids"></div>
    <div id="tempids2"></div>
    --%><div id="temptitles"></div>
      </body>