MyException - 我的异常网
当前位置:我的异常网» Java相关 » json ,Map转json,全部分了

json ,Map转json,全部分了(3)

www.MyException.Cn  网友分享于:2013-12-31  浏览:889次

  if (map.isEmpty())
  return "{}";
  StringBuilder sb = new StringBuilder(map.size() << 4);
  sb.append('{');
  Set<String> keys = map.keySet();
  for (String key : keys) {
  Object value = map.get(key);
  sb.append('\"');
  sb.append(key);
  sb.append('\"');
  sb.append(':');
  sb.append(toJson(value));
  sb.append(',');
  }
  // set last ',' to '}':
  sb.setCharAt(sb.length()-1, '}');
  return sb.toString();
  }

  static String boolean2Json(Boolean bool) {
  return bool.toString();
  }

  static String number2Json(Number number) {
  return number.toString();
  }

  static String string2Json(String s) {
  StringBuilder sb = new StringBuilder(s.length()+20);
  sb.append('\"');
  for (int i=0; i<s.length(); i++) {
  char c = s.charAt(i);
  switch (c) {
  case '\"':
  sb.append("\\\"");
  break;
  case '\\':
  sb.append("\\\\");
  break;
  case '/':
  sb.append("\\/");
  break;
  case '\b':
  sb.append("\\b");
  break;
  case '\f':
  sb.append("\\f");
  break;
  case '\n':
  sb.append("\\n");
  break;
  case '\r':
  sb.append("\\r");
  break;
  case '\t':
  sb.append("\\t");
  break;
  default:
  sb.append(c);
  }
  }
  sb.append('\"');
  return sb.toString();
  }
}


------解决方案--------------------
可能这个方法
static String map2Json(Map<String, Object> map) 
要改成
static String map2Json(Map<String, Object[]> map) 

因为你的map定义是数组。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有