JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言(更多信息的可以查看json的官方网站http://json.org。)。在工作中,很多时候我们都会采用json来承载数据,因为其灵活、方便的特性,所以,我们必须要学会处理json的方法,本章系Java之美从菜鸟到高手演变系列之json的处理。因为有很多开发者都提供支持,所以本章采用json-lib讲解。
使用json-lib需要用到一些jar包,如下:
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
commons-logging-1.1.1.jar
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-lang-2.5.jar
Json与字符串
这个是非常常见的需求,json用来交换数据,我们一般直接处理的是字符串,所以,这必然要设计到json格式的数据和字符串的转化,我们先给定一个字符串:
{"name":"alexson","age":"25","birthday":"April","hobby":"program"}
String s = "{\"name\":\"alexson\",\"age\":\"25\",\"birthday\":\"April\",\"hobby\":\"program\"}";(需要将里面的""进行转义)
Json与JavaBean
User u = new User("alexson", "25", "April", "program");
String string = JSONObject.fromObject(u).toString();
System.out.println(string);
Json与HashMap
Json与Xml