此字符串就是用map转成的json字符串,但现在我要转回去。
JSONObject jo = JSONObject.fromObject("[{"G30801":["网页设计"],"G30701":["数学","语文"]}]");
Map map = (Map)JSONObject.toBean(jo, Map.class);这样不行?

解决方案 »

  1.   

    这样不行,需要用代码解析这个Json字符串。
      

  2.   

    这个字符串是一个数组,
    所以应该是:JSONArray array = new JSONArray("[{\"G30801\":[\"网页设计\"],\"G30701\":[\"数学\",\"语文\"]}]");
    Map<String, String> map = new HashMap<String, String>();
    JSONObject obj = (JSONObject)array.get(0);
    map.put(""G30801", obj.get(""G30801"));
    obj = (JSONObject)array.get(1);
    map.put(""G30701", obj.get(""G30701"));
      

  3.   

    可以参考一下这里http://www.json.org/,有Java的实现
      

  4.   

    JSONObject本来就是一个Java对象,搞不懂你为何要转换成Map类型对象,JSONObject本身就包含了一个Map对象存储数据,你可以像Map对象一样对其Put和Get 如果你想转换为一个JavaBean对象,那么你要先定义一个JavaBean类,然后字段名和你的JSON字符串中的属性名一致,这样才可以转换成为你想要的JavaBean对象
      

  5.   

    Map map=(Map) JSONUtil.deserialize("{\"key\":\"value\"}");
      

  6.   

    这里面有详细的介绍:关于json 字符串封装成 map 对象;
    http://ydoou.com/2011/05/391.html
      

  7.   

    这里面有详细的介绍:关于json 字符串封装成 map 对象;
    http://ydoou.com/2011/05/391.html