后台dwr返回一个string类型的json格式数据,前台js如何读取?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了后台dwr返回一个string类型的json格式数据,前台js如何读取?相关的知识,希望对你有一定的参考价值。

我在dwr对应的方法里是这样封装的
public String findByCallPerson()
List l = this.getIcps().findByCallPerson();
JSONArray jsonArray = new JSONArray();
try
for (Object o : l)
System.out.println("haohaoahoa");
JSONObject jo = new JSONObject();
Callperson cp = (Callperson) o;
jo.put("callId", cp.getCallId());
jo.put("callDescription", cp.getCallDescription());
jo.put("callNum", cp.getCallNum());
jo.put("callDate", cp.getCallDate());
jsonArray.put(jo);

catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage());

System.out.println(jsonArray);
return jsonArray.toString();

......打印输出的是
:["callId":1,"callDate":2011-04-23 00:00:00.0,"callNum":31,"callDescription":"qqq?33?????,????,???31??????"]
这种格式的string类型json格式数据..那么前台用了一个js的回调函数.接收..那请问..js怎么读取呢?

参考技术A var json = eval("("+returnData+")");
然后就可以直接用json.callDate这样了本回答被提问者采纳
参考技术B 如果data是回传的数据
for(int i=0;i<data.size();i++)
JSONObject object=(JSONObject)data.get(i);
String callldString=object.getString("callld");//获得第一个json数据callld的值
。。。。
参考技术C eval() 函数转换 参考技术D javascript读取json是最方便的,如:
var myJSONObject = "bindings":["callId":1,"callDate":2011-04-23 00:00:00.0,"callNum":31,"callDescription":"qqq?33?????,????,???31??????"]
那么你可以直接通过 myJSONObject.bindings[0].callId取得1

DWR(AJAX)+Highcharts绘制曲线图,饼图

基本需求:
1. 在前台会用DWR框架(或者AJAX)调用Java后台代码获取要在Hightcharts展示的数据
2. 了解JSON(JavaScript Object Notation)的格式
3. Hightcharts的x,y轴数据绑定
4. Hightcharts的使用自己定义样式
Highcharts代码(或者说Highcharts的配置)是一个json字符串,说白了就是要想在前台使用Hightcharts插件画图,后台返回的数据类型必须是json字符串。Hightcharts才会认识。


下面以DWR框架为例。绘制一个曲线图(x,y轴)。和饼图(没有x轴),演示后台数据怎样绑定到Highcharts的x,y轴。不解释,先贴图看效果:
技术分享
技术分享

Example 1:曲线图

1) JAVA后台代码:
技术分享

2) 前台DWR调用:
技术分享
注意看看alert的是一个什么鬼吧…
技术分享
3) 配置一个Hightcharts曲线图(定义一个Hightchars)。var gline = { }; 尼玛:看起来哪哪都是JSON
Hightcharts依赖与Jquery所以必须引入jquery-1.8.3.min.js,另外就是Hightcharts核心highcharts.js

<script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/4.0.1/highcharts.js"></script>

技术分享
4) 上面已经定义了一个Highcharts曲线图,如今就差将数据绑定到x,y轴显示
(继续补充完毕2)中的代码)
技术分享
注意:eval函数的使用。!

!!

Example 2 :饼图

1) JAVA后台代码:
技术分享
2)前台DWR调用:
技术分享

注意看看alert的是一个什么鬼吧…

3)配置一个Hightcharts的饼图: ,var dpie = { };
技术分享

4)绑定数据
dpie.series[0].data = eval(data);
new Highcharts.Chart(dpie);

二、 Hightcharts的使用自己定义样式
技术分享

给全部的Highcharts应用样式:
Highcharts.setOptions(myTheam);//给图表设置主题样式
假设想给每个图应用不同的样式,则将Highcharts.setOptions(myTheam);写在每个DWR调用后台数据方法内。例如以下:定义了两个主题myTheam和myTheam1
技术分享
技术分享

DWR(AJAX)+Highcharts绘制各种图(柱状,饼图,曲线…)小结V2.0
改进步骤1):学会了在j2ee中使用DWR(AJAX)后,有时候从server返回client的数据是对象,自己手动拼凑 json字符串easy出错,通过度娘知道了json-lib这个类库,方便的支持java中对象到json字符串的转化。
依赖的类库:json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
commons-logging.jar
commons-lang.jar
commons-collections.jar基本需求:
1. 在前台会用DWR框架(或者AJAX)调用Java后台代码获取要在Hightcharts展示的数据
2. 了解JSON(JavaScript Object Notation)的格式
3. Hightcharts的x,y轴数据绑定
4. Hightcharts的使用自己定义样式
Highcharts代码(或者说Highcharts的配置)是一个json字符串。说白了就是要想在前台使用Hightcharts插件画图,后台返回的数据类型必须是json字符串,Hightcharts才会认识。
下面以DWR框架为例,绘制一个曲线图(x,y轴)。和饼图(没有x轴),演示后台数据怎样绑定到Highcharts的x,y轴。

不解释,先贴图看效果:

Example 1:曲线图

1) JAVA后台代码:
技术分享

2) 前台DWR调用:
技术分享

3)JsonConveterUtil:Json转换器工具类

工具类以及源代码下载:http://pan.baidu.com/s/1mgxHExa












































以上是关于后台dwr返回一个string类型的json格式数据,前台js如何读取?的主要内容,如果未能解决你的问题,请参考以下文章

DWR(AJAX)+Highcharts绘制曲线图,饼图

工作总结 返回 json 后台对象中,某一个字段设为string 整个对象转换为json 返回到页面中

C#:如何将后台的数据通过json格式返回前台

Java后台的BigDecimal类型转为json返回前端时,原本为null的到了前端却变成

关于后台传来的json是含英文字母的string

返回值为string格式怎么在前台转化成json格式