//////////////list<String[]> 转化为String[]
或者试一下直接用objectoutputsream
static String[] convert(List<String[]> from) {
ArrayList<String> list = new ArrayList<String>();
for (Object[] strings : from) {
String[] a = new String[strings.length];
for(int i=0;i<strings.length;i++){
a[i]=strings[i].toString();
}
Collections.addAll(list, a);
}
return list.toArray(new String[list.size()]);
}
/////////
[["2011",6],["2012",294],["2013",239],["2014",164]]
static String[] convert(List<String[]> from) {
ArrayList<String> list = new ArrayList<String>();
for (Object[] strings : from) {
String[] a = new String[strings.length];
// for(int i=0;i<strings.length;i++){
// a[i]=strings[i].toString();
//
// }
String b= JSONArray.fromObject(strings).toString();
Collections.addAll(list, b);
}
return list.toArray(new String[list.size()]);
}
///前台这样打过去
success:function(data){
var datas=eval(data);
for(var k=0;k<datas.length;k++){
alert(datas[k][0]);
alert(xdatas[k][1]);
}
}
//////图表数据的渲染highcharts
////组装json的方法,结合前面的java代码有一步转化为string的方法
var textvar=null;
var time=[];
var datad=[];
$.ajax({
type:'post',
url:urlhichar,
async:false,
data:null,
dataType:'json',
success:function(data){
var datas=eval(data);
for(var k=0;k<datas.length;k++){
alert(datas[k][0]);
alert(datas[k][1]);
time[k]=datas[k][0];
alert(time);
////组装成list数组
datad.push("{y:"+parseInt(datas[k][1])+","+"color:colors["+k+"]"+"}");
}
},
error:function(){
}
});
/////////变成大的数组
textvar = JSON.stringify(datad);
// alert(textvar);
var colors = Highcharts.getOptions().colors,
categories = time,
name = 'Browser brands',
a =eval(textvar),
b="["+a+"]",
/////////变成ocjecb
data =eval(b);
//////只要前台控件接受的是json格式的东西[{}....],他就可以直接用json字符串,或者eval之后的object,这主要是解决动态的json外层会有一对“”。为了去了这个
"{'310106':{'opacity':'10','bgcolor':'0xFF0000','tooltip':{'div':[{'ico':'ico','txt':'30/800'},{'ico':'ico1','txt':'30/600'}],'type':'0','url':'http://www.baidu.com'}},'310107':{'opacity':'5','bgcolor':'0x00FF00','tooltip':{'div':[{'ico':'ico2','txt':'30/800'},{'ico':'ico3','txt':'30/600'}],'type':'0','url':'http://www.sohu.com'}}}"
这种整个用eval就不会有双引号
看下接受这种数据的怎么处理
{}这种就不是json,注意单频号
这用数组从解析成功返回的json数组取出,就不会有双引号了
function flex(){
$.ajax({
url:'${ctx}/flex!flex.json',
type:'POST',
data:'',
dataType : 'json',
async:false,
success:function(data){
object1=data;////json对象数组
//alert(object1);
}
});
}
function initGIS1(){
var gis = document.getElementById("GIS");
//alert(1);
var textvar;
if(gis){
//var s = object1.substring(1, object1.length-1);
// alert(2);
textvar = JSON.stringify(object1);
var s = textvar.substring(1, textvar.length-1);
//alert(textvar);
//alert(object1);
var rs=s.replace(/\"/g,"'");
//var b=eval(rs);
//var bb="["+rs+"]"
//var j =eval(bb);
var jj=object1[0]; ///这用数组取出
alert(jj);
// alert(rs.replace(/\"/g,""));
gis.init_1(jj);
}
}
控件json格式组装接收
猜你喜欢
转载自yuhuiblog6338999322098842.iteye.com/blog/2123567
今日推荐
周排行