JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它构建于两种结构:
- 哈希表(hash-map),即K-V键值对
- 数组
在JSON中,value值可以为 双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),且这些结构可以嵌套,这种特性给予JSON表达数据以无限的可能:
JSON在传递过程中,实际上传递的是一个json字符串,而json对象是指对json字符串解析和包装后的结果,比如在struts2-json-plugin中,一个Action实例就是一个json对象,对action进行解析,生成一个json字符串来给客户端使用。
对于struts2-json-plugin来讲,假若有如下json字符串:
{
"doubleValue": 10.10,
"nestedBean": {
"name": "Mr Bean"
},
"list": ["A", 10, 20.20, {
"firstName": "El Zorro"
}],
"array": [10, 20]
}
则在action中,必须有:
setDoubleValue方法,参数为float或double;
setNestedBean方法,参数类型可以为任意类型,不过这个类必须包含一个参数类型为String的setName方法;
setList方法,参数类型为List,这个List包含 String,Long,Double,Map;
setArray方法,参数可以为List,或者任何数字类型数组