当前位置: 首页>编程语言>正文

java中onRequest方法 java on

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。

关于JSON格式和用法的具体介绍请看度娘百科:http://baike.baidu.com/view/136475.htm,这里仅介绍几个简单的java生成Json的基础用法

在Java中使用JSON类型之前,需要给project添加几个jar包:

json-lib-2.2-jdk15.jar

commons-logging-1.1.1.jar

commons-collections-3.2.1.jar

commons-beanutils.jar

ezmorph-1.0.5.jar

commons-lang.jar

以上的是最基础的几个包,如果需要JSON的全面功能,还需要添加:

commons-beanutils-core-1.8.0.jar

commons-httpclient.jar

morph-1.1.1.jar

这些包的添加视情况而定

我把这些包打了7z上传并分享下载地址:

Java代码中生成Json类型的基本用法如下:

------------------------------------------------------------------

HashMap生成JSONObject:
Map map = new HashMap();
map.put(XXXX,YYYY);
JSONObject json = JSONObject.fromObject(map);

这里注意HashMap是无序的,也就是说里面的元素没有排列顺序,所以生成的JsonObject用print打出来的使用“{ XXXX:YYYY }”形式

------------------------------------------------------------------

ArrayList生成JSONArray:
List list = new ArrayList();
list.add(XXXX);
JSONArray json = JSONArray.fromObject(list);

ArrayList是有序的,所以生成的JsonArray用print打出来的使用“[ XXXX ]”形式

------------------------------------------------------------------

数组String[]生成JSONArray:

String[] strings = {"1", "2", "3"};
 JSONArray ja1 = JSONArray.fromObject(strings);

数组String[]是有序的,所以生成的JsonArray用print打出来["1","2","3"]

String可以换为任意的Object

------------------------------------------------------------------

String字符串生成JSONArray:

JSONArray ja = JSONArray.fromObject("['1','2','3']");

结果跟上一个是一样的

------------------------------------------------------------------

自定义结构体型实例转生成JSONObject并解析成该类型:

定义一个类MyStruct:

public class MyStruct {
public String name;
public int number;
public String[] attribute;
.............
public String getName() ;
public int getNumber();
public String[] getAttribute();
//注意,这里必须有各变量的getter方法,json会从类中的getter方法取值然后加入json实例的数据中,如果没有,这生成的json为{ }
//可以用eclipse的source中的功能自动生成getter和setter方法
}
........
MyStruct ms = new MyStruct();
ms.name = “zhang”;
ms.number = 332;
ms.attribute = {"male", "183cm"};
JSONObject json = JSONObject.fromObject(ms);
//打印出{"name":"zhang","number":332,"attribute":["male","183cm"]}
........
Object temp = JSONObject.toBean(json, MyStruct.class);
if(temp instanceof MyStruct) {
MyStruct ms2 = (MyStruct) temp;
//生成的ms2理论上应该与ms内容相同
}

------------------------------------------------------------------

Json还可以生成xml数据流:

MyStruct ms = new MyStruct();
ms.name = “zhang”;
ms.number = 332;
ms.attribute = {"male", "183cm"};
JSONObject json = JSONObject.fromObject(ms);
XMLSerializer xmlSerializer = new XMLSerializer();
String xml = xmlSerializer.write(json);
打印出:
<?xml version="1.0" encoding="UTF-8"?>
 <o><attribute class="array"><e type="string">male</e><e type="string">183cm</e></attribute><name type="string">zhang</name><number type="number">332</number></o>

这里要用到xom-1.1.jar包,因为CSDN上已经有人发过了,我就不发了


https://www.xamrdz.com/lan/5pg1937141.html

相关文章: