如何将java List 转换成JavaScript 可以操作的对象。具体看问题补充。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将java List 转换成JavaScript 可以操作的对象。具体看问题补充。相关的知识,希望对你有一定的参考价值。

我项目中使用的Struts 2框架,在java后台有List 类型的questionsOptionsList,意思是问题选项列表。questionsOptionsList包含的元素是对象QuestionsOptions(QuestionsOptions本身包含各种属性)。我现在想做的是在jsp页面循环questionsOptionsList,取出其中各个QuestionsOptions的Content属性,然后结合JQuery 赋值给页面标签。思路大致就是这样。

public void outString(String str)
try
getResponse().setContentType("text/json;charset=utf-8");
PrintWriter out = getResponse().getWriter();
out.write(str);
catch (IOException e)


//字符串转换为json
public void outJsonString(String str)
outString(str);


// 对象转换JSON格式
public void outJson(Object obj)
try
String json=JSONObject.fromObject(obj).toString();
outJsonString(json);
catch (Exception e)
e.printStackTrace();



// 数组转换JSON格式
public void outJsonArray(Object array)
try
outJsonString(JSONArray.fromObject(array).toString());
catch (Exception e)
e.printStackTrace();



后台:List<QuestionsOptions> questionsOptionsList=new ArrayList<QuestionsOptions>() ;
outJsonArray(questionsOptionsList);

jquery 代码:

$.ajax(
url:'questionsOptionsList.action',
type:'post',
data:loadValue, //传给后台的参数
dataType:'json', //返回值类型 一般设置为json
success:function (data, status) //服务器成功响应处理函数

showhtml(data);
,
error:function (data, status, e)//服务器响应失败处理函数

alert(e);

);
function showHTML(data)
for(var i=0;i<data.length;i++)
alert(data[i].Content);

参考技术A 给你提供个思路
list里面放的是bean,bean的属性有id,name
将list转成json
Object obj = JSONArray.fromObject(list);
obj= "(id:1,name:'a',id:2,name:'b',...)";
将obj传给页面,共js使用了
参考技术B 通过JQuery 的 ajax 提交请求后台,后台的questionsOptionsList 通过JSONArray.fromObject(List)转换成字符串,返还给前台,前台就可以直接循环这个列表对象了 参考技术C 后台:JSONArray jsonArray=JSONArray.fromObject(List);
js:$.each(status,function()alert(comment);
status:为ajax返回的数据。
参考技术D 封装成JSONArray对象,调用该对象的toSring()方法,或转换成类似json的字符串[pname0:value0,pname1:pvalue1,...........,.......]
前台获取字符串

java中,如何把一个字符串转换成数组?

如题:
String st="abcdefg“,如何转换成数组 string [] ary=a,b,c,d,e,f.g.thanks in advance.

1.字符串转字符
for(int i = 0; i < str.length ; i++ )
  str.charAt(i);
2+3:不想循环的话 可以用一个List装字符,每次装之前调用if(List.contains(..))

   


package com.xuz.csdn.worldcup.day22;

import java.util.HashMap;
import java.util.Map;

public class HelloWorldCountTest 

public static void main(String[] args) 
String hello = "helloworld!";
Map<Character, Integer> map = new HashMap<Character, Integer>();
char[] ch = hello.toCharArray();
for (char c : ch) 
Integer i = map.get(c);
if (i == null) 
map.put(c, 1);
 else 
map.put(c, i.intValue() + 1);



System.out.println(map);


 或者

static Map sortMap(Map map)  
     List list = new LinkedList(map.entrySet()); 
     Collections.sort(list, new Comparator()  
     public int compare(Object o1, Object o2)  
     int result = ((Comparable) ((Map.Entry) (o1)).getValue()) 
     .compareTo(((Map.Entry) (o2)).getValue());
     return result == 0?
      ((Comparable) ((Map.Entry) (o1)).getKey()) 
.compareTo(((Map.Entry) (o2)).getKey())
:result;             
      
     ); 
     Map result = new LinkedHashMap(); 
     for (Iterator it = list.iterator(); it.hasNext();)  
     Map.Entry entry = (Map.Entry)it.next(); 
     result.put(entry.getKey(), entry.getValue()); 
      
     return result; 
    

参考技术A public static void main(String[] args)

String str = "hello world!";//要转换的字符串

int len = str.length();//字符串长度
String strArray[] = new String[len];
//开始转换
for(int i = 0; i < len; i++)
strArray[i] = str.charAt(i) + "";

//查看结果
for(String s:strArray)
System.out.println(s);
本回答被提问者采纳
参考技术B 直接用st.toCharArray();返回一个char[]数组,非要String的话可以强转 参考技术C 用字符串分割Sting[] ary=st.split(""); 参考技术D st.toCharArray();

以上是关于如何将java List 转换成JavaScript 可以操作的对象。具体看问题补充。的主要内容,如果未能解决你的问题,请参考以下文章

如何将List集合转换成String的数组?

如何将List集合转换成String的数组?

如何将java List 转换成JavaScript 可以操作的对象。具体看问题补充。

java调用javascript时,如何将NativeArray或NativeObject转换成java实体或者HashMap,List对象

java 求大神 帮忙写下如何将map或者list转换成javabean

如何将字符串转换成javaBean