一、Json介绍
JSON(JavaScript Object Notation)
是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
二、Json格式
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
Json=[{username : aa, password : aa},{ username : bb, password : bb}]
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
三、JSON
Javastring<=>java.lang.String, java.lang.Character,
charnumber<=>java.lang.Number, byte, short, int, long, float,
double true|false<=>java.lang.Boolean,boolean
null<=>null
function<=>net.sf.json.JSONFunction
array<=>net.sf.json.JSONArray (object, string, number, boolean, function)object<=>net.sf.json.JSONObject
代码实例:
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray = JSONArray.fromObject( boolArray );
System.out.println( jsonArray );
// prints [true,false,true]
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray = JSONArray.fromObject( list );
System.out.println( jsonArray );
// prints ["first","second"]
JSONArray jsonArray = JSONArray.fromObject( "['json','is','easy']" );
System.out.println( jsonArray );
// prints ["json","is","easy"]
Map map = new HashMap();
map.put( "name", "json" );
map.put( "bool", Boolean.TRUE );
map.put( "int", new Integer(1) );
map.put( "arr", new String[]{"a","b"} );
map.put( "func", "function(i){ return this.arr[i]; }" );
JSONObject json = JSONObject.fromObject( map );
System.out.println( jsonObject );
// prints ["name":"json","bool":true,"int":1,"arr":["a","b"],"func":function(i){ return this.arr[i]; }]
class MyBean{
private String name = "json";
private int pojoId = 1;
private char[] options = new char[]{'a','f'};
private String func1 = "function(i){ return this.options[i]; }";
private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");
// getters & setters
...
}
JSONObject jsonObject = JSONObject.fromObject( new MyBean() );
System.out.println( jsonObject );
/* prints
{"name":"json","pojoId":1,"options":["a","f"],
"func1":function(i){ return this.options[i];},
"func2":function(i){ return this.options[i];}}
四、
JSON 用法和所需的类
.
(1)所需依赖的类文件
所需依赖的类文件
(1)所需依赖的类文件
所需依赖的类文件
Json-lib requires (at least) the following dependencies in your classpath:
jakarta commons-lang 2.3 //appach网站下载最新的
jakarta commons-beanutils <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.7.0 //appach网站下载最新的
jakarta commons-collections 3.2 //appach网站下载最新的
jakarta commons-logging 1.1 //appach网站下载最新的
转载于:https://blog.51cto.com/gracehopper2000/150462