JSON

JSON是什么?为JavaScript准备的数据格式(2)

字号+ 作者:H5之家 来源:H5之家 2017-02-06 09:02 我要评论( )

将 Number 表示为 JSON 就容易得多,利用 Java 的多态,我们可以处理 Integer,Long,Float 等多种 Number 格式: } Boolean 类型也可以直接通过 toString() 方法得到 JSON 的表示: } 要将数组编码为 JSON 格式,

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


  
  
  }   
    

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


  
  
  }  

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


  
  
  
  
  
  
  
  
  
  
  }  

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


  
  
  
  
  
  
  
  
  
  
  
  
  
  }  

  为了统一处理任意的 Java 对象,我们编写一个入口方法 toJson(Object),能够将任意的 Java 对象编码为 JSON 格式:


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   }  

  我们并未对 Java 对象作严格的检查。不被支持的对象(例如 List)将直接抛出 RuntimeException 。此外,为了保证输出的 JSON 是有效的,Map<String, Object> 对象的 Key 也不能包含特殊字符。细心的读者可能还会发现循环引用的对象会引发无限递归,例如,精心构造一个循环引用的 Map,就可以检测到 StackOverflowException:


  
  
  
  
  
     JsonUtil.map2Json(map);   
  

  好在服务器处理的 JSON 数据最终都应该转化为简单的 JavaScript. 对象,因此,递归引用的可能性很小。

  最后,通过 Servlet 或 MVC 框架输出 JSON 时,需要设置正确的 MIME 类型(application/json)和字符编码。假定服务器使用 UTF-8 编码,则可以使用以下代码输出编码后的 JSON 文本:


  
  
  
  PrintWriter pw = response.getWriter();   
  pw.write(JsonUtil.toJson(obj));   
  pw.flush();  

  小结

  JSON 已经是 JavaScript. 标准的一部分。目前,主流的浏览器对 JSON 支持都非常完善。应用 JSON,我们可以从 XML 的解析中摆脱出来,对那些应用 Ajax 的 Web 2.0 网站来说,JSON 确实是目前最灵活的轻量级方案。

  JSON是什么,现在您应该了解了吧。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JSON是什么?它能带来什么?它和XML比较?

    JSON是什么?它能带来什么?它和XML比较?

    2015-11-14 11:10

  • JSON是什么?它能带来什么?

    JSON是什么?它能带来什么?

    2014-11-17 18:52

网友点评