josn 转为数组

luxiaoming_suncar 2014-01-09 05:32:03
请教高手java如何将
[
{"104680BE-A2F9-433C-AF45-22612D6B6038":"CM201200604",
"E5D18609-892F-4A82-AEEE-EFFF5C15996A":"CM201200201"}
]

这种格式转化为

[
["104680BE-A2F9-433C-AF45-22612D6B6038","CM201200604"],
["E5D18609-892F-4A82-AEEE-EFFF5C15996A","CM201200201"]
]

这种格式。比较着急,谢谢了。
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹腰不好 2014-01-10
  • 打赏
  • 举报
回复
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)); } }
别闹腰不好 2014-01-10
  • 打赏
  • 举报
回复
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>。 之后拼成你要的字符串就行了
ADC_VN 2014-01-09
  • 打赏
  • 举报
回复
JSONArray test1=JSONArray.fromObject(session.getAttribute("allMyProject"));
Mxreng 2014-01-09
  • 打赏
  • 举报
回复
试下反序列化吧

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧