问题,写一个函数,传入一个字符串,把这个的字符串转换成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对象
感觉像是把一个JSON STRING 转成 java object。
这个一般有lib可以用的,不用自己写。
不过要写一个简单的话,应该不难的。
这个的确是一个json 转换问题啊,不知道复杂在哪
复杂在它是字符串对象,而不是JSON字符串。