list转换成json,然后在js里获取:

基本格式:

controller里:

JSONObject json = new JSONObject();
json.put("data", weirFlowService.queryWeirFlow(null));
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
json.put("status", "1");
json.put("info", "查询成功!");
out.write(json.toString());

js里:

function getflowdata(stcd) {
$.ajax({
url : "getflowdata.do",
type : "post",
data:{stcd:stcd},
dataType : "json",
success : function(result) {

var data = result.data;        或 var allchart = JSON.parse(result).data;

eg1

js:

//渗流量数据
function getflowdata(stcd) {
$.ajax({
url : "getflowdata.do",
type : "post",
data:{stcd:stcd},
dataType : "json",
success : function(result) {

if (result && result.data) {
var html = [];var DELETE;
var data = result.data;

html.push('<table  class="gridcss" id="realFlow" style="width:100%;">');
html.push('<caption>渗流量数据管理</caption>');
html.push('<thead>');
html.push('<tr style="bgcolor:green"><th style="display:none;"><span >ID</span></th><th><span style="font-weight:bold;color:#000000;">所属水库或河流</span></th><th><span style="font-weight:bold;color:#000000;">测站编码</span></th><th><span style="font-weight:bold;color:#000000;">测站名称</span></th><th><span style="font-weight:bold;color:#000000;">监测时间</span></th><th><span style="font-weight:bold;color:#000000;">量水堰水位</span></th><th><span style="font-weight:bold;color:#000000;">水位趋势</span></th><th><span style="font-weight:bold;color:#000000;">监测渗流量(mm)</span></th><th><span style="font-weight:bold;color:#000000;">累计渗流量(mm)</span></th><th><span style="font-weight:bold;color:#000000;">压力光栅波长(mm)</span></th><th><span style="font-weight:bold;color:#000000;">温补光栅波长(mm)</span></th><th><span style="font-weight:bold;color:#000000;">备注</span></th><th><span style="font-weight:bold;color:#000000;">操作</span></th></tr>');
html.push('</thead>');
for (var i = 0; i < data.length; i++) {
year=data[i].tm.year-100;month=data[i].tm.month+1;date=data[i].tm.date;
hours=data[i].tm.hours;minutes=data[i].tm.minutes;second=data[i].tm.seconds;nanos=data[i].tm.nanos;
html.push('<tr>');
html.push('<td style="display:none;">');
html.push(data[i].id);
html.push('</td><td>');
html.push(data[i].rsvrcd);
html.push('</td><td>');
html.push(data[i].stcd);
html.push('</td><td>');
html.push(data[i].stnm);
html.push('</td><td>');
html.push("20"+year+"-"+(month==0?"00":(month<10?"0"+month:month))+"-"+(date==0?"--":(date<10?"0"+date:date))+" "+(hours==0?"00":(hours<10?"0"+hours:hours))+":"+(minutes==0?"00":(minutes<10?"0"+minutes:minutes))+":"+(second==0?"00":(second<10?"0"+second:second)));
//html.push(data[i]['tm'].toString());
html.push('</td><td>');
html.push(data[i].rz);
html.push('</td><td>');
html.push(data[i].direct);
html.push('</td><td>');
html.push(data[i].weir_flow);
html.push('</td><td>');
html.push(data[i].total_flow);
html.push('</td><td >');
html.push(data[i].wavelength1);
html.push('</td><td >');
html.push(data[i].wavelength2);
html.push('</td><td >');
html.push(data[i].remark);
html.push('</td><td align="center">');
html.push('<div style="width: 140px;">');
html.push('<div class="btns edit_btns" style="float: left;" model="edit" title="修改菜单" οnclick="edit_lineflow(this);"></div>');
html.push('<div class="btns del_btns" style="float:right" model="delete" title="删除菜单" οnclick="delete_lineflow(this);"></div>');
html.push('</div>');
html.push('</td>');
html.push('</tr>');
}
html.push('</table>');

$("#mains1").html(html.join(""));
Paging.setTableColor("realFlow");
}
}
});
}

controller:

// 加载渗流量数据管理
@RequestMapping(value = "getflowdata")
public void getflowdata(HttpServletRequest request,
HttpServletResponse response) {
Map<String, Object> queryParams = new HashMap<String, Object>();
String stcd = EncodeFilter.encode(request.getParameter("stcd"));
JSONObject json = new JSONObject();
if (stcd.equals("quanbu")) {

json.put("data", weirFlowService.queryWeirFlow(null));

} else {
queryParams.put("stcd", stcd);
json.put("data", weirFlowService.queryWeirFlow(queryParams));
}
try {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
json.put("status", "1");
json.put("info", "查询成功!");
out.write(json.toString());

} catch (IOException e) {
logger.error(e.getLocalizedMessage());
}
return;        //没有返回值
}

eg2.

/**
 * 加载监测项目
 */
function loadItemInfo() {
$("#stationType").empty();
$.ajax({
url : appPath + "/queryitems.do",

dataType : "json",
success : function(result) {
var data = result.data;
for (var i = 0; i < data.length; i++) {
if (data[i].item_id != "displsmt") {
$("#stationType").append('<option value="'
+ data[i].item_id + '">' + data[i].item_name
+ '</option>');
}
}
var itemId = $("#stationType").val();
loadStationId(itemId);
}
});
}

// 水情统计报表监测项目查询
@RequestMapping(value = "queryitems")
public void queryitems(
HttpServletRequest request, HttpServletResponse response

) {

JSONObject json = new JSONObject();
json.put("data", itemsService.queryItems(null));

try {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
json.put("status", "1");
json.put("info", "查询成功!");
out.write(json.toString());

} catch (IOException e) {
logger.error(e.getLocalizedMessage());
}
return ;

}

eg3.

function getrainchart(btn){//把图形函数放在ajax函数里,使用它的获取值
 var data2=new Array() ;var data3 = new Array();var data1 =new Array() 
 var data11 =[] ;var data22 =new Array() ;//把ajax里定义的变量赋给全局变量(ajax不好写全局变量)
 var data33 = [];var times=new Array();
var  years=new Array();var months=new Array();var dates=new Array();var hours=new Array();var minutes=new Array();var seconds=new Array();var nanos=new Array();
var stcd1=$(btn).parent().parent().children("td").eq(0).find("select").val();
var tmbegin1=$(btn).parent().parent().children("td").eq(1).find("input").val();
var tmend1=$(btn).parent().parent().children("td").eq(2).find("input").val();
// var stcd=$("#stationId").val();
var stcd="";
var tmbegin=$("#tmbegin").val();
var tmend=$("#tmend").val();
var data = {
    stcd:stcd,

};
    var itemId=$("#stationType").val();
var url = "";var name="";var kk="";
if (itemId == "PP") {
url =  "rainsspic.do";
name="降雨实时图(单位:mm)";
kk="实时雨量";
} else if (itemId == "ZZ") {
url =  "watersspic.do";
name="水位实时图(单位:m)";
kk="实时水位";
} else if (itemId == "BB") {
url =  "evapsspic.do";
name="蒸发实时图(单位:mm)";
kk="实时蒸发";
} else if (itemId == "TP") {
url =  "tempsspic.do";
name="气温实时图(单位:℃)";
kk="实时气温";
} else if (itemId == "RZ") {
url =  "levelsspic.do";
name="渗压计水位实时图(单位:m)";
kk="实时渗压计水位";
} else if (itemId == "WF") {
url =  "flowsspic.do";
name="渗流量实时图(单位:m3)";
kk="实时渗流量";
} else {
return;
}
$.ajax({

type : "post",
   data:data,
url : url,
async: false,
success : function(msg) {

var allchart = JSON.parse(msg).data;

for (var i = 0; i < allchart.length; i++) {

if (itemId == "PP") {
years[i] = "2"+allchart[i].tm.year-100; 
 
     months[i] = allchart[i].tm.month + 1 < 10 ? "0" + (allchart[i].tm.month + 1) : allchart[i].tm.month + 1;
    
     dates[i] = allchart[i].tm.date  < 10 ? "0" + (allchart[i].tm.date) : allchart[i].tm.date;
    
     hours[i] = allchart[i].tm.hours  < 10 ? "0" + (allchart[i].tm.hours) : allchart[i].tm.hours;
    
     minutes[i] = allchart[i].tm.minutes  < 10 ? "0" + (allchart[i].tm.minutes) : allchart[i].tm.minutes;
   
    seconds[i] = allchart[i].tm.seconds < 10 ? "0" + (allchart[i].tm.seconds) : allchart[i].tm.seconds;
   
    times[i]=years[i]+"-"+months[i]+"-"+dates[i]+" "+hours[i]+":"+minutes[i]+":"+seconds[i];
data1.push(allchart[i].stcd);
        data22[i]=(allchart[i].rain);
        data33.push(allchart[i].tm);
       
               data2[i]=data22[i] ;
                data3[i]=data33[i]
} else if (itemId == "ZZ") {

// 加载渗流量数据管理图表
@RequestMapping(value = "weirflowmnpic")
public void weirflowmnpic(HttpServletRequest request,
HttpServletResponse response) {
Map<String, Object> queryParams = new HashMap<String, Object>();
Map<String, Object> queryParams1 = new HashMap<String, Object>();

String stcd = EncodeFilter.encode(request.getParameter("stcd"));
String tmend1 = EncodeFilter.encode(request.getParameter("tmend"));

String tmbegin1 = EncodeFilter.encode(request.getParameter("tmbegin"));
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// 默认取最近四周的时间
Calendar cal = Calendar.getInstance();
java.util.Date tmbegin2 = cal.getTime();
java.sql.Timestamp tmbegin = null;
if (!isNull(tmbegin1)) {
try {
tmbegin2 = (java.util.Date) sdf.parse(tmbegin1);
tmbegin = new java.sql.Timestamp(tmbegin2.getTime());

} catch (ParseException e) {

e.printStackTrace();
}

}

java.util.Date tmend2 = cal.getTime();
java.sql.Timestamp tmend = null;
if (!isNull(tmend1)) {
try {
tmend2 = (java.util.Date) sdf.parse(tmend1);

tmend = new java.sql.Timestamp(tmend2.getTime());

} catch (ParseException e) {

e.printStackTrace();
}

}
String nowtime2 = sdf.format(cal.getTime());
cal.add(Calendar.WEEK_OF_YEAR, -4);
String nowtime1 = sdf.format(cal.getTime());

if (!isNull(tmbegin1)) {
queryParams.put("tmbegin", tmbegin1);
} else {
queryParams.put("tmbegin", nowtime1);

}
if (!isNull(tmend1)) {
queryParams.put("tmend", tmend1);
} else {
queryParams.put("tmend", nowtime2);

}
JSONObject json = new JSONObject();
List<Stations> listrainstcd = weirFlowService
.queryStationsweirflow(null);

json.put("legend", weirFlowService.queryStationsweirflow(null));

if (stcd.equals("quanbu")) {
stcd = "";
}
List<Map<String, Object>> list = weirFlowService.weirflowmnpic(stcd,
(String) queryParams.get("tmbegin"),
(String) queryParams.get("tmend"));

JSONArray jsonArr = new JSONArray();
Map<String, EcharsData> jsonMap = new HashMap<String, EcharsData>();
for (Map<String, Object> map : list) {
String jstcd = (String) map.get("stcd");
String jtm = (String) map.get("tm");
Double weirflow = (Double) map.get("weir_flow");
BigDecimal jweirflow = new BigDecimal(weirflow);
if (jsonMap.containsKey(jstcd)) {
EcharsData edata = jsonMap.get(jstcd);
edata.getTmlist().add(jtm);
edata.getRainlist().add(jweirflow);
} else {
EcharsData edata = new EcharsData();

edata.setStcd(jstcd);
edata.getTmlist().add(jtm);
edata.getRainlist().add(jweirflow);
jsonMap.put(jstcd, edata);
}
}

Iterator it = jsonMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String jstcd = (String) entry.getKey();
EcharsData edata = (EcharsData) entry.getValue();
JSONObject jsonObj = new JSONObject();
jsonObj.put("name", jstcd);
jsonObj.put("type", "bar");
jsonObj.put("barMinHeight", 10);
jsonObj.put("tm", edata.getTmlist().toArray());
jsonObj.put("barMaxWidth", 40);
jsonObj.put("data", edata.getRainlist().toArray());

if (json.get("tmdata") == null) {
json.put("tmdata", edata.getTmlist().toArray());
}
jsonArr.add(jsonObj);
}

json.put("data", jsonArr);
try {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
json.put("status", "1");
json.put("info", "查询成功!");
out.write(json.toString());

} catch (IOException e) {
logger.error(e.getLocalizedMessage());
}
SimpleDateFormat sdfg = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return;
}

从接口里获取数据:

String urlneilao="http://192.168.1.15:8080/pingshan-service/data/Query1?sttp=NL";
String dataneilao=result(urlneilao);//这个接口的方法是返回string类型的数据
int indexdaoneilao=dataneilao.indexOf("{");
String resultdaoneilao=dataneilao.substring(indexdaoneilao);
String resultdaoneilao2=resultdaoneilao.replace(")","");
// 得到一个json对象
JSONObject jsObjneilao = JSONObject.fromObject(resultdaoneilao2);
JSONArray jsonArrayneilao = jsObjneilao.getJSONArray("data");

HashMap queryParams = new HashMap();
                        queryParams.put("neilao", jsonArrayneilao);

根据接口地址获取数据通用方法:

public String result(String urls) {
String url = urls;
// 地址对象
URL webUrl = null;
try {
webUrl = new URL(url);
} catch (MalformedURLException e) {

e.printStackTrace();
}
// 建立远程连接
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) webUrl.openConnection();
} catch (IOException e) {

e.printStackTrace();
}
// 得到输入流
InputStream ins = null;
try {
ins = conn.getInputStream();
} catch (IOException e) {

e.printStackTrace();
}

// 字符读取流
BufferedReader bfr = null;
try {
bfr = new BufferedReader(new InputStreamReader(ins,
"UTF-8"));
} catch (UnsupportedEncodingException e) {

e.printStackTrace();
}
// 使用字符串构造器,将读取的每一行数据拼接起来
StringBuffer sb = new StringBuffer();

String content = null;
try {
while ((content = bfr.readLine()) != null) {
sb.append(content);
}
} catch (IOException e) {

e.printStackTrace();
}
// 关闭字符流
try {
bfr.close();
} catch (IOException e) {

e.printStackTrace();
}
// 释放连接
conn.disconnect();
// 得到返回的字符串
String data = sb.toString();
return data;
}

下面是一些接口:

/**
* 查询测站点的实时数据

* @param sttp
* @param stcd
* @param request
* @param response
* @return
*/
@RequestMapping("/data/Query")
@ResponseBody
public String queryData(@RequestParam(value = "sttp") String sttp,
@RequestParam(value = "stcd", required = false) String stcd,
HttpServletRequest request, HttpServletResponse response) {

log.info("query data, receive http request from " + request.getRemoteAddr());

if (dataQueryJDBCTemplate == null) {
dataQueryJDBCTemplate = (DataQueryJDBCTemplate) PingshanApp.context.getBean("dataQueryJDBCTemplate");
}

//Map json = new HashMap();
JSONObject json = new JSONObject();
try {
/*DataQueryJDBCTemplate dataQueryJDBCTemplate = (DataQueryJDBCTemplate) PingshanApp.context
.getBean("dataQueryJDBCTemplate");*/
List<Map<String, Object>> list = null;
switch (sttp) {
case "ZZ":
list = new ArrayList<Map<String, Object>>();
Set<String> stnmSet = new HashSet<String>();
// 如果坪山新区和市水务局都有监测的站点,以坪山新区的数据为准
for (Map<String, Object> map : dataQueryJDBCTemplate.queryWaterLevel(stcd)) {
String stnm = map.get("stnm").toString();
if (!stnmSet.contains(stnm)) {
list.add(map);
stnmSet.add(stnm);
}
}
break;
case "NL":
list = dataQueryJDBCTemplate.queryNeilaodian(stcd);
break;
case "PP":
list = dataQueryJDBCTemplate.queryRain(stcd);
break;
case "BB":
list = dataQueryJDBCTemplate.queryEvap(stcd);
break;
case "TP":
list = dataQueryJDBCTemplate.queryTemper(stcd);
break;
case "RZ":
list = dataQueryJDBCTemplate.queryOsmodata(stcd);
break;
case "WF":
list = dataQueryJDBCTemplate.queryWeirflow(stcd);
break;
case "ALL":
list = dataQueryJDBCTemplate.queryAllStation(stcd);
break;
}

json.put("data", list);
json.put("status", "1");
json.put("info", "查询成功!");
} catch (Exception e) {
e.printStackTrace();
json.put("status", "0");
json.put("info", "查询失败!");
}
log.info("end query data.");
/*try {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.write("\""+json.toString()+"\"");
} catch (IOException e) {
log.error(e.getLocalizedMessage());
}*/
return json.toString();          //返回string 类型的的数据
//return "{\"data\":[{\"stcd\":\"P1002\",\"tm\":\"2015-12-14 10:20:00\",\"z\":23.000},{\"stcd\":\"RR011\",\"tm\":\"2015-11-14 00:12:12\",\"z\":15.000}],\"status\":\"1\",\"info\":\"查询成功!\"}";
}

/**
* 查询河道信息
* @param stcd
* @param request
* @param response
* @return
*/
@RequestMapping("/data/queryReservoir")
@ResponseBody
public Object queryReservoir(@RequestParam(value = "stcd", required = false) String stcd) {
JSONObject json = new JSONObject();
try {
List<Map<String, Object>> list = dataQueryJDBCTemplate.queryReservoir(stcd);
json.put("data", list);
json.put("status", "1");
json.put("info", "查询成功!");
} catch (Exception e) {
e.printStackTrace();
json.put("status", "0");
json.put("info", "查询失败!");
}
log.info("end query data.");
return json;
}

/**
* 查询河道信息
* @param stcd
* @param request
* @param response
* @return
*/
@RequestMapping("/data/queryRiver")
@ResponseBody
public Object queryRiver(@RequestParam(value = "stcd", required = false) String stcd) {
JSONObject json = new JSONObject();
try {
List<Map<String, Object>> list = dataQueryJDBCTemplate.queryRiver(stcd);
json.put("data", list);
json.put("status", "1");
json.put("info", "查询成功!");
} catch (Exception e) {
e.printStackTrace();
json.put("status", "0");
json.put("info", "查询失败!");
}
log.info("end query data.");
return json;
}

/**
* 查询河道信息
* @param stcd
* @param request
* @param response
* @return
*/
@RequestMapping("/data/queryStation")
@ResponseBody
public Object queryStation(@RequestParam(value = "stcd", required = false) String stcd) {
JSONObject json = new JSONObject();
try {
List<Map<String, Object>> list = dataQueryJDBCTemplate.queryStation(stcd);
json.put("data", list);
json.put("status", "1");
json.put("info", "查询成功!");
} catch (Exception e) {
e.printStackTrace();
json.put("status", "0");
json.put("info", "查询失败!");
}
log.info("end query data.");
return json;    //返回json 类型的的数据
}

json格式的解析,list如何转换json格式相关推荐

  1. 转换为json字符串 php,php将字符串转换json的方法

    php将字符串转换json的方法 发布时间:2020-08-13 09:57:27 来源:亿速云 阅读:96 作者:小新 小编给大家分享一下php将字符串转换json的方法,希望大家阅读完这篇文章后大 ...

  2. Type 1120: Access of undefined property JSON 无法明确解析多名称引用 JSON

    http://blog.donews.com/cnsoft/archive/2012/05/03/1582972.aspx Type 1120: Access of undefined propert ...

  3. java list转json报错_一个fastjson转换JSON字符串的报错排查

    今天给一个java类加了几个字段,没想到转为json字符串的时候报错了,定位了一下原因,觉得这种情况遇到的应该不多,又想起来很久没写博客了,于是就把遇到的问题以及定位过程记下来,省了以后遇到的人再花时 ...

  4. mp3转wma格式转换器 mp3音频怎么转换wma格式

    常见的音频格式,一般我们见过的都是MP3音频格式来的.而现在给你介绍的mp3转换wma格式中,wma音频格式是Windows Media Audio,是微软力推的一种音频格式.WMA格式是以减少数据流 ...

  5. Mac如何转换图片格式?ImageWell for Mac转换图片格式教程

    想用Mac电脑转换图片格式?我想你可以借助ImageWell for Mac软件!ImageWell是一款简单好用的的图像处理工具,具有显示,编辑,处理,保存等功能.下面是给大家分享的Mac电脑上使用 ...

  6. linux保存为jpg格式的文件,Linux 系统转换 CR2 格式原生照片为 JPEG 格式

    上次跟朋友一起出去玩,拍的照片居然不知道怎么的有很多是 CR2 格式的.这个是佳能(Canon)开发的相机 RAW 文件的一种存档格式.RAW 文件包含了原图片文件在传感器产生后,进入照相机图像处理器 ...

  7. 前端转换图片格式 前端将png格式图片转成jpg格式 前端用使用canvas转换图片格式

    在开发中,遇到这样一个需求.由于我们的照片是要下发到设备上,而我们的设备只支持jpg格式的图片.那么我们不能限制用户只选择jpg图片进行上传,这样用户体验极差. 解决方案:用canvas转换图片的格式 ...

  8. csv格式文件解析失败_理解CSV格式规范(解析CSV必备)

    什么是CSV 逗号分隔值(Comma-Separated Values,CSV),其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录.每个记录由一个或多个字段组成,用逗号分隔. ...

  9. java时间戳转换日期格式_Java 13位时间戳转换日期格式

    1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Date; 4 5 ...

  10. sql解析json格式字段、sql关联json格式字段,mysql解析json、sql解析json字符串

    sql解析json格式字段.sql关联json格式字段,mysql解析json.sql解析json字符串 sql解析字符串 sql关联json中的某个字段 sql解析字符串 表名user_login ...

最新文章

  1. 报告:最大化人工智能(AI)机遇
  2. 在解决方案中所使用 NuGet 管理软件包依赖
  3. 4.Android loader详解___回调
  4. 数据库阻塞---SQL的隔离级别
  5. leetcode 692. 前K个高频单词
  6. 记腾讯互娱网站布局(1)
  7. 全球各国家.INFO域名注册量统计:中国排名第八
  8. nodejs对文件进行分页
  9. oracle vm传输,XML 传输 - Oracle VM Server for SPARC 2.0 管理指南
  10. php 修改图像大小,php 修改图片大小
  11. rk3399_android7.1调试USB接口的TP记录
  12. JAVA解析xml文件(DOM)
  13. winedit 改字体大小
  14. 15.6 模板全特化与偏特化(局部特化)
  15. Python获取股票机构调研数据
  16. 网站被流量攻击了,如何解决
  17. Unity中的异步编程【1】—— Unity与async 、 await
  18. 未来17个城市中心区房价将涨到你目瞪口呆
  19. nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found错误的详细解决方法
  20. 计算机电缆1*2*2.5电缆,DJYPVP2*2*2.5计算机电缆型号

热门文章

  1. 项目日志记录规范和标准
  2. 多人过河问题C语言贪心算法,南阳oj贪心算法之过河问题
  3. ArcMap中 配置GP工具发布服务
  4. LOESS(局部加权回归)
  5. 阿里云OSS的相关概念
  6. 基于Python的(拍照签到+网课在线检测)深度学习的人脸识别系统
  7. 如何实现java主线程等待子线程执行完毕之后再执行?
  8. java正则表达式匹配字符串_java正则表达式如何匹配字符串
  9. python在哪个城市工资高_工程机械种类那么多,学哪个工资高呢!
  10. Qt应用程序开发框架-快速入门篇