josn 转为数组 JSONArray test1=JSONArray.fromObject(session.getAttribute("allMyProject")); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static <T>T decodeObject(String json,Class<T> clz){ JSONObject jsonObject = JSONObject.fromObject(json); T bean = (T) JSONObject.toBean(jsonObject, clz); return bean; }这个方法是将字符串转成类,觉得你json格式转成MAP比较合适。转后是这样的List <Map>。之后拼成你要的字符串就行了 import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JsonUtils { public static String encodeList(Object[] objs) { return encodeList(Arrays.asList(objs)); } @SuppressWarnings("unchecked") public static String encodeList(Collection objs) { JSONArray list = new JSONArray(); if (objs == null || objs.size() == 0) return list.toString(); for (Object ae : objs) { list.add(ae); } return list.toString(); } @SuppressWarnings("unchecked") public static String encodeObject(Object obj) { if (obj instanceof Collection) return encodeList((Collection) obj); JSONObject jo = JSONObject.fromObject(obj); return jo.toString(); } @SuppressWarnings("unchecked") public static <T> List<T> decodeList(String str, Class<T> clazz) { if (str == null || "".equals(str)) return null; JSONArray obj = JSONArray.fromObject(str); Object[] rts = obj.toArray(); List<T> result = new ArrayList<T>(rts.length); for (int i = 0; i < rts.length; i++) { Object jo = rts[i]; T ele = (T) JSONObject.toBean((JSONObject) jo, clazz); result.add(ele); } return result; } @SuppressWarnings("unchecked") public static <T> T decodeObject(String json, Class<T> clz) { JSONObject jsonObject = JSONObject.fromObject(json); T bean = (T) JSONObject.toBean(jsonObject, clz); return bean; } public static void main(String[] args) { String s="[{\"104680BE-A2F9-433C-AF45-22612D6B6038\":\"CM201200604\",\"E5D18609-892F-4A82-AEEE-EFFF5C15996A\":\"CM201200201\"}]"; List<Map> l =decodeList(s,Map.class); List<List> a=new ArrayList<List>(); for(Map m:l){ for(Object st:m.entrySet()){ Map.Entry<String, String> ma=(Map.Entry<String, String>)st; List<String> n=new ArrayList<String>(); n.add(ma.getKey()); n.add(ma.getValue()); a.add(n); } } System.out.println(encodeList(a));}} Ext 怎么把store中的数据显示到grid中??? 表单中用ACtion转向JSP的问题 关于web.xml的问题 精品课程网站设计问题 调用tomcat4.1.25连接池的方法和存在的问题(高手必看) 用HTTPSESSION存放大量数据的缺点是什么? spring拦截器没拦截下来 中文编码问题紧急求助 JavaBean的接口定义规则有哪些? ssh问题用spring管理action,配置后出现下面错误 flex builder4.7中JSON 我把web工程部署到tomcat上却出现404错误
JSONObject jsonObject = JSONObject.fromObject(json);
T bean = (T) JSONObject.toBean(jsonObject, clz);
return bean;
}
这个方法是将字符串转成类,觉得你json格式转成MAP比较合适。
转后是这样的List <Map>。
之后拼成你要的字符串就行了
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;public class JsonUtils { public static String encodeList(Object[] objs) {
return encodeList(Arrays.asList(objs));
} @SuppressWarnings("unchecked")
public static String encodeList(Collection objs) {
JSONArray list = new JSONArray();
if (objs == null || objs.size() == 0)
return list.toString();
for (Object ae : objs) {
list.add(ae);
}
return list.toString();
} @SuppressWarnings("unchecked")
public static String encodeObject(Object obj) {
if (obj instanceof Collection)
return encodeList((Collection) obj);
JSONObject jo = JSONObject.fromObject(obj);
return jo.toString();
} @SuppressWarnings("unchecked")
public static <T> List<T> decodeList(String str, Class<T> clazz) {
if (str == null || "".equals(str))
return null;
JSONArray obj = JSONArray.fromObject(str);
Object[] rts = obj.toArray();
List<T> result = new ArrayList<T>(rts.length);
for (int i = 0; i < rts.length; i++) {
Object jo = rts[i];
T ele = (T) JSONObject.toBean((JSONObject) jo, clazz);
result.add(ele);
}
return result;
} @SuppressWarnings("unchecked")
public static <T> T decodeObject(String json, Class<T> clz) {
JSONObject jsonObject = JSONObject.fromObject(json);
T bean = (T) JSONObject.toBean(jsonObject, clz);
return bean;
} public static void main(String[] args) {
String s="[{\"104680BE-A2F9-433C-AF45-22612D6B6038\":\"CM201200604\",\"E5D18609-892F-4A82-AEEE-EFFF5C15996A\":\"CM201200201\"}]";
List<Map> l =decodeList(s,Map.class);
List<List> a=new ArrayList<List>();
for(Map m:l){
for(Object st:m.entrySet()){
Map.Entry<String, String> ma=(Map.Entry<String, String>)st;
List<String> n=new ArrayList<String>();
n.add(ma.getKey());
n.add(ma.getValue());
a.add(n);
}
}
System.out.println(encodeList(a));
}
}