list转json数组

lights为arraylist

java后台代码:

try {
      org.tempuri.TLight[] lights = phlightSoapProxy.getLights();
      String jsonStr = null;
      JSONArray array = new JSONArray();
       /* Json格式的数组形式 */
      JSONObject obj;
       /* json格式的单个对象形式 */
       for ( int i = 0; i < lights.length; i++ )
       {
           obj = new JSONObject();
           /* 依次填充每一个Java实体对象 */
           try {
                     obj.put( "isOpen", 0 );
                     obj.put( "title", lights[i].getLightName() );
                     /* json通过put方式以key-value形式填充 */
                     obj.put( "point", lights[i].getLng() + "|" + lights[i].getLat() );
                     obj.put( "icon", lights[i].getYxValue() == 0 ? 0 : 1 );
                     String state = lights[i].getYxValue() == 0 ? "已关闭" : "已开启";
                     obj.put( "content", "状态:" + state + "<br/>电压:" + lights[i].getVoltage() + "(v)<br/>电流:" + lights[i].getCurrent() + "(A)" );
                     array.put( obj );
                     /* 将JSONObject添加入JSONArray */
           }
          catch ( JSONException e ) {
                  e.printStackTrace();
          }
     }
     model.addAttribute( "lights", lights );
    model.addAttribute( "lightsJSON", array );
  }
  catch ( RemoteException e ) {
  /* TODO Auto-generated catch block */
  e.printStackTrace();
}

 h ( JSONException e ) {
e.printStackTrace();
}
}
model.addAttribute( "lights", lights );
model.addAttribute( "lightsJSON", array );
}
catch ( RemoteException e ) {
/* TODO Auto-generated catch block */
     e.printStackTrace();
}

array 就是最终的json数组

前台html中js 解析:

//标注点数组
var markerArr = '${lightsJSON}';
/* console.log(markerArr); */
markerArr=eval("("+markerArr+")");;
console.log(markerArr);

     markerArr 为得到的json数组,js循环数据可以下面操作:

     for(var i=0;i<markerArr.length;i++){
    var jsonfd = markerArr[i];
    var p0 = jsonfd.point.split("|")[0];
    var p1 = jsonfd.point.split("|")[1];
    var point = new BMap.Point(p0,p1);
    if(jsonfd.icon == 0){
      var iconImg = createOffIcon();
    }else{
      var iconImg = createOnIcon();
    }
    var marker = new BMap.Marker(point,{icon:iconImg});
    var iw = createInfoWindow(i);
    var label = new BMap.Label(jsonfd.title,{"offset":new BMap.Size(jsonfd.icon.lb-jsonfd.icon.x+0,-20)});
    marker.setLabel(label);
    map.addOverlay(marker);
    label.setStyle({
    borderColor:"#808080",
    color:"#333",
    cursor:"pointer"
  });

浏览器中得到结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gh786395613

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值