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"
  });

浏览器中得到结果:

list转json数组的更多相关文章

  1. 文件缓存(配合JSON数组)

    1.  写入缓存:建立文件夹,把list集合里面的数组转换为JSON数组,存入文件夹2.  读取缓存:把JSON数组从文件夹里面读取出来,然后放入list集合,返回list集合 private fin ...

  2. Json数组追加数据

    背景:在做一个购物车的时候,点击第一个商品,然后存入一个json数组中,点击第二个商品的时候,又继续在json数组中追加,代码如下: <script type="text/javasc ...

  3. java 字符串转成 json 数组并且遍历

    当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时. 首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包 String s ...

  4. json数组的序列化和反序列化json数组的序列化和反序列化

    如题,我就不多说了,自己看代码的,很好理解 using System; using System.Collections.Generic; using System.Web; using System ...

  5. php返回json数组

    1.后端 //处理json数组中文问题 function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { s ...

  6. JSON 数组的遍历解析

    刚遇到一个接接口任务,发现其中返回数据中,是个字符串数组,数组中就是单个json形式的内容,其实应该也可以称这种数据叫做json数组吧,只不过是字符串形式.而我需要的是将这种内容解析出来,取到对于ke ...

  7. 字符串集合或字符串数组转换成json数组

    字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...

  8. Jquery调用Webservice传递Json数组

    Jquery由于提供的$.ajax强大方法,使得其调用webservice实现异步变得简单起来,可以在页面上传递Json字符串到Webservice中,Webservice方法进行业务处理后,返回Js ...

  9. JSON数组操作

    在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像J ...

  10. select绑定json数组对象 asp.net

    ashx处理页 string JsonList = "["; IList<Models.Channel> ilist = BLL.ChannelManager.GetA ...

随机推荐

  1. spring boot 从开发到上线(三)—AOP 异常监控、上报

    在做这个项目的期间,看到一篇很有启发性的文章<程序员你为什么这么累>.对于初级程序员来说,拿到需求,第一反应是用什么技术来尽快的完成任务,这本身并没有问题.但长此以往,不仅被需求的更改搞得 ...

  2. c++11 enum class用法

    使用过的一个enum class的用法:enum class EModel : int    {        Model1, Model2, Model3, Other = 4,    }; EMo ...

  3. idea pycharm 常用快捷键

    Ctrl + P 方法参数提示显示 (必备)Alt + Enter 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 (必备)Ctrl + / 行注释(可选中多行)Ctrl + ...

  4. Redis Desktop Manager 0.9.3 版本下载

    因为Redis Desktop Manager作者在 0.9.4 版本之后选择对所有的安装包收费,不再提供安装包下载,但是源码依旧公开.链接:https://pan.baidu.com/s/1SXsy ...

  5. 消除VS中动态申请二维数组C6011,C6385,C6386的警告

    动态申请二维数组,无非就是通过指针来实现.@wowpH 过程分三步:1.申请内存,2.使用数组,3.释放内存. 代码如下: /************************************* ...

  6. Scala Collection Method

    接收一元函数 map 转换元素,主要应用于不可变集合 (1 to 10).map(i => i * i) (1 to 10).flatMap(i => (1 to i).map(j =&g ...

  7. Java自学-接口与继承 多态

    Java的多态 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父类引用指向子类对象 示例 1 : 操作符的多态 同一个操作符在不同情境下,具备不同的作用 如果+号两侧都是整型,那么 ...

  8. JS面向对象设计-理解对象

    不同于其他面向对象语言(OO,Object-Oriented),JS的ECMAScript没有类的概念, 它把对象定义为"无序属性(基本值.对象.函数)的集合",类似于散列表. 每 ...

  9. 【转载】使用宝塔Linux面板屏蔽某些IP访问你的服务器

    在服务器的运维过程中,有时候发现一些异常IP或者扫描漏洞攻击者IP访问你的网站,此时如果想屏蔽该IP访问你的服务器,可以通过云服务器厂商提供的安全组进行设置.如果服务器安装有宝塔面板,也可以通过宝塔面 ...

  10. JavaScript之变量(声明、解析、作用域)

    声明(创建) JavaScript 变量 在 JavaScript 中创建变量通常称为"声明"变量. 一.我们使用 var 关键词来声明变量: var carname; 变量声明之 ...