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. Java里 equals 和 == 以及 hashcode

    本文探讨的是老掉牙的基础问题,先建个实体类 package com.demo.tools; public class User { private String name; public User(S ...

  2. [转帖]HashMap、HashTable、ConcurrentHashMap的原理与区别

    HashMap.HashTable.ConcurrentHashMap的原理与区别 http://www.yuanrengu.com/index.php/2017-01-17.html 2017年1月 ...

  3. eclipse配置lombok插件

    下载lombok-1.16.12.jar包 然后将包添加到eclipse.ini 同级目录下 打开eclipse目录:最后两行添加如下配置: -Xbootclasspath/a:lombok-1.16 ...

  4. Sitecore 8.2 Admin用户帐户解锁

    如果您有权访问数据库,则可以使用SQL Management Studio运行以下查询来解锁您的sitecore管理员或任何其他用户帐户 : UPDATE aspnet_Membership SET  ...

  5. 【C语言学习笔记】指针

    用来存放一个变量地址的变量就叫指针变量.指针变量也是有类型约束的,一般什么类型的指针指向什么类型的变量. 指针之所以叫变量,是因为它里面所存放的变量的地址也是不断变化的,指针是可以移动的. 定义格式: ...

  6. es+logstash+kibana搭建

    1.简介 ELK(elasticsearch+logstash+kibana)是目前比较常用的日志分析系统,包括日志收集(logstash),日志存储搜索(elasticsearch),展示查询(ki ...

  7. 【拆分版】Docker-compose构建Kibana单实例,基于7.1.0

    写在前边 今凌晨的时候已经把这整个Docker-compose构建的ELK集群跑起来了,有点没熬住,所以早上起来补文档,今天就上到公司测试服务器上测试了,好开森. 本文内容就是红框的部分,只是启动个K ...

  8. TestNG系列(五)TestNG测试报告

    以TestNG执行测试方法后会生成test-output测试结果集,其中index.html是测试结果的展示.TestNG的测试报告可以通过IReporter监听自定义,也可以通过第三方工具(Repo ...

  9. Authentication using SASL/Kerberos

    Prerequisites KerberosIf your organization is already using a Kerberos server (for example, by using ...

  10. C#汉字转为Unicode编码

    主要用于生成json格式时,将汉字转成Unicoude编码,防止页面乱码. protected string GetUnicode(string text) { string result = &qu ...