JsonObject 与JsonArray的使用
2012-05-31 17:19
477 查看
一.json学习之一:json必须引入jar包
引用 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar
二.jsonObject的使用
为了使用JSONObject对象,我们要引入"net.sf.json"包。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public
class JsonTest {
public
static void main(String[] args)
throws Exception {
//创建JSONObject对象 通过put(Object key,Object value)方法添加元素
JSONObject json =
new JSONObject();
json.put("version",
"1.1.0");
json.put("host",
"maps.google.com");
json.put("home_mobile_country_code",
460);// 国家代码
json.put("home_mobile_network_code",
0);// 移动运营商代码
json.put("radio_type",
"gsm");
json.put("request_address",
true);
json.put("address_language",
"zh_CN");
JSONArray jsoncells =
new JSONArray();
JSONObject jsoncell =
new JSONObject();
jsoncell.put("mobile_country_code",
460);// 国家代码,mcc
jsoncell.put("mobile_network_code",
0);// 移动运营商代码,mnc
jsoncell.put("location_area_code",
42246);// 位置区域代码,lac LAC 42246
jsoncell.put("cell_id",
21379917);// 移动基站id CID 21379917
jsoncell.put("timing_advance",5555);
//将JSONObject对象添加到JSONArray中
jsoncells.add(jsoncell);
//将JSONArray对象添加到JSONObject中
json.put("cell_towers", jsoncells);
System.out.println(json.toString());
}
}
api参考:http://json-lib.sourceforge.net/apidocs/jdk15/index.html
三.JsonArray的使用
从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。
Java代码
![](http://linglan-8805.iteye.com/images/icon_copy.gif)
![](http://linglan-8805.iteye.com/images/icon_star.png)
![](http://linglan-8805.iteye.com/images/spinner.gif)
/**
* 从json数组中得到相应java数组
* JSONArray下的toArray()方法的使用
* @param str
* @return
*/
public
static Object[] getJsonToArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
return jsonArray.toArray();
}
public
static void main(String[] args) {
JSONArray jsonStrs =
new JSONArray();
jsonStrs.add(0,
"cat");
jsonStrs.add(1,
"dog");
jsonStrs.add(2,
"bird");
jsonStrs.add(3,
"duck");
Object[] obj=getJsonToArray(jsonStrs.toString());
for(int i=0;i<obj.length;i++){
System.out.println(obj[i]);
}
}
从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
同样,如果要获取java数组中的元素,只需要遍历该数组。
Java代码
![](http://linglan-8805.iteye.com/images/spinner.gif)
/**
* 将json数组转化为Long型
* @param str
* @return
*/
public
static Long[] getJsonToLongArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
Long[] arr=new Long[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getLong(i);
System.out.println(arr[i]);
}
return arr;
}
/**
* 将json数组转化为String型
* @param str
* @return
*/
public
static String[] getJsonToStringArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
String[] arr=new String[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getString(i);
System.out.println(arr[i]);
}
return arr;
}
/**
* 将json数组转化为Double型
* @param str
* @return
*/
public
static Double[] getJsonToDoubleArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
Double[] arr=new Double[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getDouble(i);
}
return arr;
}
/**
* 将json数组转化为Date型
* @param str
* @return
*/
public
static Date[] getJsonToDateArray(String jsonString) {
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Date[] dateArray =
new Date[jsonArray.size()];
String dateString;
Date date;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
for (int i = 0; i < jsonArray.size(); i++) {
dateString = jsonArray.getString(i);
try {
date=sdf.parse(dateString);
dateArray[i] = date;
}
catch (Exception e) {
e.printStackTrace();
}
}
return dateArray;
}
public
static void main(String[] args) {
JSONArray jsonLongs =
new JSONArray();
jsonLongs.add(0,
"111");
jsonLongs.add(1,
"222.25");
jsonLongs.add(2,
new Long(333));
jsonLongs.add(3,
444);
Long[] log=getJsonToLongArray(jsonLongs.toString());
for(int i=0;i<log.length;i++){
System.out.println(log[i]);
}
JSONArray jsonStrs =
new JSONArray();
jsonStrs.add(0,
"2011-01-01");
jsonStrs.add(1,
"2011-01-03");
jsonStrs.add(2,
"2011-01-04 11:11:11");
Date[] d=getJsonToDateArray(jsonStrs.toString());
for(int i=0;i<d.length;i++){
System.out.println(d[i]);
}
}
/*结果如下:
* 111
* 222
* 333
* 444
*
* Sat Jan 01 00:00:00 CST 2011
* Mon Jan 03 00:00:00 CST 2011
* Tue Jan 04 00:00:00 CST 2011
*/
引用 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar
二.jsonObject的使用
为了使用JSONObject对象,我们要引入"net.sf.json"包。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public
class JsonTest {
public
static void main(String[] args)
throws Exception {
//创建JSONObject对象 通过put(Object key,Object value)方法添加元素
JSONObject json =
new JSONObject();
json.put("version",
"1.1.0");
json.put("host",
"maps.google.com");
json.put("home_mobile_country_code",
460);// 国家代码
json.put("home_mobile_network_code",
0);// 移动运营商代码
json.put("radio_type",
"gsm");
json.put("request_address",
true);
json.put("address_language",
"zh_CN");
JSONArray jsoncells =
new JSONArray();
JSONObject jsoncell =
new JSONObject();
jsoncell.put("mobile_country_code",
460);// 国家代码,mcc
jsoncell.put("mobile_network_code",
0);// 移动运营商代码,mnc
jsoncell.put("location_area_code",
42246);// 位置区域代码,lac LAC 42246
jsoncell.put("cell_id",
21379917);// 移动基站id CID 21379917
jsoncell.put("timing_advance",5555);
//将JSONObject对象添加到JSONArray中
jsoncells.add(jsoncell);
//将JSONArray对象添加到JSONObject中
json.put("cell_towers", jsoncells);
System.out.println(json.toString());
}
}
api参考:http://json-lib.sourceforge.net/apidocs/jdk15/index.html
三.JsonArray的使用
从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。
Java代码
![](http://linglan-8805.iteye.com/images/icon_copy.gif)
![](http://linglan-8805.iteye.com/images/icon_star.png)
![](http://linglan-8805.iteye.com/images/spinner.gif)
/**
* 从json数组中得到相应java数组
* JSONArray下的toArray()方法的使用
* @param str
* @return
*/
public
static Object[] getJsonToArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
return jsonArray.toArray();
}
public
static void main(String[] args) {
JSONArray jsonStrs =
new JSONArray();
jsonStrs.add(0,
"cat");
jsonStrs.add(1,
"dog");
jsonStrs.add(2,
"bird");
jsonStrs.add(3,
"duck");
Object[] obj=getJsonToArray(jsonStrs.toString());
for(int i=0;i<obj.length;i++){
System.out.println(obj[i]);
}
}
/** * 从json数组中得到相应java数组 * JSONArray下的toArray()方法的使用 * @param str * @return */ public static Object[] getJsonToArray(String str) { JSONArray jsonArray = JSONArray.fromObject(str); return jsonArray.toArray(); } public static void main(String[] args) { JSONArray jsonStrs = new JSONArray(); jsonStrs.add(0, "cat"); jsonStrs.add(1, "dog"); jsonStrs.add(2, "bird"); jsonStrs.add(3, "duck"); Object[] obj=getJsonToArray(jsonStrs.toString()); for(int i=0;i<obj.length;i++){ System.out.println(obj[i]); } }
从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
同样,如果要获取java数组中的元素,只需要遍历该数组。
Java代码
![](http://linglan-8805.iteye.com/images/spinner.gif)
/**
* 将json数组转化为Long型
* @param str
* @return
*/
public
static Long[] getJsonToLongArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
Long[] arr=new Long[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getLong(i);
System.out.println(arr[i]);
}
return arr;
}
/**
* 将json数组转化为String型
* @param str
* @return
*/
public
static String[] getJsonToStringArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
String[] arr=new String[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getString(i);
System.out.println(arr[i]);
}
return arr;
}
/**
* 将json数组转化为Double型
* @param str
* @return
*/
public
static Double[] getJsonToDoubleArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
Double[] arr=new Double[jsonArray.size()];
for(int i=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getDouble(i);
}
return arr;
}
/**
* 将json数组转化为Date型
* @param str
* @return
*/
public
static Date[] getJsonToDateArray(String jsonString) {
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Date[] dateArray =
new Date[jsonArray.size()];
String dateString;
Date date;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
for (int i = 0; i < jsonArray.size(); i++) {
dateString = jsonArray.getString(i);
try {
date=sdf.parse(dateString);
dateArray[i] = date;
}
catch (Exception e) {
e.printStackTrace();
}
}
return dateArray;
}
public
static void main(String[] args) {
JSONArray jsonLongs =
new JSONArray();
jsonLongs.add(0,
"111");
jsonLongs.add(1,
"222.25");
jsonLongs.add(2,
new Long(333));
jsonLongs.add(3,
444);
Long[] log=getJsonToLongArray(jsonLongs.toString());
for(int i=0;i<log.length;i++){
System.out.println(log[i]);
}
JSONArray jsonStrs =
new JSONArray();
jsonStrs.add(0,
"2011-01-01");
jsonStrs.add(1,
"2011-01-03");
jsonStrs.add(2,
"2011-01-04 11:11:11");
Date[] d=getJsonToDateArray(jsonStrs.toString());
for(int i=0;i<d.length;i++){
System.out.println(d[i]);
}
}
/*结果如下:
* 111
* 222
* 333
* 444
*
* Sat Jan 01 00:00:00 CST 2011
* Mon Jan 03 00:00:00 CST 2011
* Tue Jan 04 00:00:00 CST 2011
*/
相关文章推荐
- java中JSONObject与JSONArray的使用
- JSONObject与JSONArray的使用
- JSONObject与JSONArray的使用
- 使用JSONObject解析json串,JSONArray解析json
- Android中的JSONObject和JSONArray的使用
- JSONObject JSONSerializer JSONArray java中的使用
- JSONObject与JSONArray的使用(jackson)
- JSONObject与JSONArray的使用
- JSONObject与JSONArray的使用
- 自己做得json测试类,包含JSONArray,JSONObject,Gson基本使用方法
- JSONObject与JSONArray的使用 jsonobject里面包含jsonarray
- JsonArray和JsonObject的使用
- JSONObject和JSONArray的使用 以及JSONObject put,accumulate,element的区别
- JSONObject与JSONArray的使用
- JSONObject、JSONArray结合Map的使用案例
- JSONObject与JSONArray的使用
- JSONObject与JSONArray的使用
- JSONObject与JSONArray的使用
- json-lib使用,JSONObject和JSONArray
- JSONObject与JSONArray的使用