WEB开发网
开发学院网页设计JavaScript JSON 入门指南 阅读

JSON 入门指南

 2010-09-14 13:08:07 来源:WEB开发网   
核心提示: 将 Number 表示为 JSON 就容易得多,利用 Java 的多态,JSON 入门指南(5),我们可以处理 Integer,Long,Float 等多种 Number 格式:static String number2Json(Number number) {return number.

将 Number 表示为 JSON 就容易得多,利用 Java 的多态,我们可以处理 Integer,Long,Float 等多种 Number 格式:

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

Boolean 类型也可以直接通过 toString() 方法得到 JSON 的表示:

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

要将数组编码为 JSON 格式,可以通过循环将每一个元素编码出来:

static String array2Json(Object[] array) {
  if (array.length==0)
    return "[]";
  StringBuilder sb = new StringBuilder(array.length << 4);
  sb.append('[');
  for (Object o : array) {
    sb.append(toJson(o));
    sb.append(',');
  }
  // 将最后添加的 ',' 变为 ']':
  sb.setCharAt(sb.length()-1, ']');
  return sb.toString();
}

最后,我们需要将 Map<String, Object> 编码为 JSON 格式,因为 JavaScript 的 Object 实际上对应的是 Java 的 Map<String, Object> 。该方法如下:

static String map2Json(Map<String, Object> map) {
  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(',');
  }
  // 将最后的 ',' 变为 '}':
  sb.setCharAt(sb.length()-1, '}');
  return sb.toString();
}

上一页  1 2 3 4 5 6  下一页

Tags:JSON 入门指南

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接