问题,写一个函数,传入一个字符串,把这个的字符串转换成Map对象。
在字符串中不允许出现特殊的字符,这个不用做检查(只要传入的时候符合要求就可以了)函数签名如下:
public static Object unpack(String value) throws Exception{
。。
}例如 String str = "{eror=34,list=[{id=99,bondcd=6},{id=98,bondcd=7}],over=345}";Map map1 = new HashMap();
map1.put("id","99");
map1.put("bondcd","6");Map map2 = new HashMap();
map2.put("id","98");
map2.put("bondcd","7");List list = new ArrayList();
list.add(map1);
list.add(map2);Map map = new HashMap();
map.put("eror","34");
map.put("list",list);
map.put("over","345");我最后需要是map这个对象,也就是unpack()这个函数返回的是map这个对象(注意函数签名中的返回值必须是Object)说明,提供的字符串的格式都是key=value格式的,用","隔开。如果返回的Map对象中的key值是字符串,value值可以是字符串,也可以是List集合(一般是ArrayList),而list集合中的元素一般是map对象java
在字符串中不允许出现特殊的字符,这个不用做检查(只要传入的时候符合要求就可以了)函数签名如下:
public static Object unpack(String value) throws Exception{
。。
}例如 String str = "{eror=34,list=[{id=99,bondcd=6},{id=98,bondcd=7}],over=345}";Map map1 = new HashMap();
map1.put("id","99");
map1.put("bondcd","6");Map map2 = new HashMap();
map2.put("id","98");
map2.put("bondcd","7");List list = new ArrayList();
list.add(map1);
list.add(map2);Map map = new HashMap();
map.put("eror","34");
map.put("list",list);
map.put("over","345");我最后需要是map这个对象,也就是unpack()这个函数返回的是map这个对象(注意函数签名中的返回值必须是Object)说明,提供的字符串的格式都是key=value格式的,用","隔开。如果返回的Map对象中的key值是字符串,value值可以是字符串,也可以是List集合(一般是ArrayList),而list集合中的元素一般是map对象java
解决方案 »
- java导出csv格式的证件号码 不显示科学计数法
- 关于数组存放到Object中的问题
- 请教一下javaSE的用途是什么?
- 如何使用JDBC创建存储过程?如何使用JDBC删除存储过程?JDBC如何取得存储过SQL创建脚本?
- 急求助,希望实现一个JLabel可以在拖动,就象在 jbuilder 开发UI 组件时可以任意拖动 并改变大小
- 作入门,求最简单且完整的一个servlet例子
- JDBC查询导致表死锁
- 我不会:我坦白,大家来帮忙--之第3回——applet
- 大家帮忙看看,Socket soc=new Socket(134.168.6.185,12345),为什么老是报错。
- 什么地方有JDK下呢??应该怎么用呢?什么JAVA工具对一个初学者好呢??
- jna参数传递问题
- 请高手点拨一个3W行代码工程量的”CS结构的聊天系统“的”调试连接“的技术知道书籍.
public static Object unpack(String value) throws Exception{
。。
}在这个函数体中,可以调用其他自定义的函数。
http://hi.baidu.com/liwei45212/item/e07ae6cd163def2bef466554
希望能够帮到你
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub String str = "{eror=34,list=[{id=99,bondcd=6},{id=98,bondcd=7}],over=345}";
Map<String,Object> rightLlist = new Gson().fromJson(str,new TypeToken<Map<String,Object>>() {}.getType());
for(Entry e : rightLlist.entrySet()){
String value = e.getValue().toString();
try {
List<Map<String,String>> list = new Gson().fromJson(value,new TypeToken<List<Map<String,String>>>() {}.getType());
e.setValue(list);
} catch (JsonSyntaxException e1) {
}
}
System.out.println(((List<Map<String,Object>>)rightLlist.get("list")).get(0).get("id"));
}
来个简单点的
需要使用gson-2.2.2.jar
baidu搜索gson,google出品