您的位置:首页 > 移动开发 > Objective-C

JSONObject与JSONArray的使用

2011-03-25 11:21 477 查看
JSONObject与JSONArray的使用一、JAR包简介要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:1.commons-lang.jar2.commons-beanutils.jar3.commons-collections.jar4.commons-logging.jar5.ezmorph.jar6.json-lib-2.2.2-jdk15.jar二、JSONObject对象使用JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。package com.hwy;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JSONObjectSample {//创建JSONObject对象private static JSONObject createJSONObject(){JSONObject jsonObject = new JSONObject();jsonObject.put("username","huangwuyi");jsonObject.put("sex", "男");jsonObject.put("QQ", "413425430");jsonObject.put("Min.score", new Integer(99));jsonObject.put("nickname", "梦中心境");return jsonObject;}public static void main(String[] args) {JSONObject jsonObject = JSONObjectSample.createJSONObject();//输出jsonobject对象System.out.println("jsonObject==>"+jsonObject);//判读输出对象的类型boolean isArray = jsonObject.isArray();boolean isEmpty = jsonObject.isEmpty();boolean isNullObject = jsonObject.isNullObject();System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject);//添加属性jsonObject.element("address", "福建省厦门市");System.out.println("添加属性后的对象==>"+jsonObject);//返回一个JSONArray对象JSONArray jsonArray = new JSONArray();jsonArray.add(0, "this is a jsonArray value");jsonArray.add(1,"another jsonArray value");jsonObject.element("jsonArray", jsonArray);JSONArray array = jsonObject.getJSONArray("jsonArray");System.out.println("返回一个JSONArray对象:"+array);//添加JSONArray后的值// {"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}System.out.println("结果="+jsonObject);//根据key返回一个字符串String username = jsonObject.getString("username");System.out.println("username==>"+username);//把字符转换为 JSONObjectString temp=jsonObject.toString();JSONObject object = JSONObject.fromObject(temp);//转换后根据Key返回值System.out.println("qq="+object.get("QQ"));}}JSONObject 在线API:http://json-lib.sourceforge.net/apidocs/jdk15/index.html基于json-lib.jar包 创建JSONObject的四个常用方法2009-12-11 10:57
基于json-lib.jar包Json实例程序1.从头或者从零开始,创建一个JSONObject(Creating a JSONObject from scratch)实例1:JSONObject jsonObject = new JSONObject();jsonObject.element("name", "周星星");jsonObject.element("sex", "male");jsonObject.element("age", 18);jsonObject.element("job", "student");System.out.println(jsonObject.get("name"));// 周星星System.out.println(jsonObject.get("job"));// studentSystem.out.println(jsonObject.getString("sex"));// maleSystem.out.println(jsonObject.getInt("age"));// 18实例2:JSONObject jsonObject = new JSONObject().element("string", "JSON").element("integer", "1").element("double", "2.0").element("boolean", "true");assertEquals("JSON", jsonObject.getString("string"));assertEquals(1, jsonObject.getInt("integer"));assertEquals(2.0d, jsonObject.getDouble("double"), 0d);assertTrue(jsonObject.getBoolean("boolean"));注:这是对实例1的一个简化版2.使用一个JSON格式化字符串来创建一个JSONObject(Creating a JSONObject from a JSON formatted string)实例1:String json = "{name:/"周星星/",sex:/"male/",age:18,job:/"student/"}";JSONObject jsonObject = JSONObject.fromObject(json);//或者使用 JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(json);System.out.println(jsonObject.get("name"));// 周星星System.out.println(jsonObject.get("job"));// studentSystem.out.println(jsonObject.getString("sex"));// maleSystem.out.println(jsonObject.getInt("age"));// 18实例2:String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(str);assertEquals("JSON", jsonObject.getString("string"));assertEquals(1, jsonObject.getInt("integer"));assertEquals(2.0d, jsonObject.getDouble("double"), 0d);assertTrue(jsonObject.getBoolean("boolean"));3.使用一个Map来创建一个JSONObject(Creating a JSONObject from a Map)实例1:Map map = new HashMap();map.put( "string", "JSON" );map.put( "integer", "1" );map.put( "double", "2.0" );map.put( "boolean", "true" );JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( map );assertEquals( "JSON", jsonObject.getString("string") );assertEquals( 1, jsonObject.getInt("integer") );assertEquals( 2.0d, jsonObject.getDouble("double"), 0d );assertTrue( jsonObject.getBoolean("boolean") );4.使用一个JavaBean来创建一个JSONObject(Creating a JSONObject from a JavaBean)实例1:public class Mybean {private String string;private int integer;private double dooble;private boolean bool;// getters & setters}Mybean bean = new Mybean();bean.setString("JSON");bean.setInteger(1);bean.setDooble(2.0d);bean.setBool(true);JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(bean);assertEquals("JSON", jsonObject.getString("string"));assertEquals(1, jsonObject.getInt("integer"));assertEquals(2.0d, jsonObject.getDouble("dooble"), 0d);assertTrue(jsonObject.getBoolean("bool"));由此可见,无论要转换的源是哪种类型,都可以使用(JSONObject) JSONSerializer.toJSON()或JSONObject.fromObject()来转换;

使用json-lib遍历数组与对象(JSONArray与JSONObject)

七 18th, 2010 | Filed under J2EE发表评论 | Trackback使用json-lib遍历数组与对象
//遍历json数组
String json1 = "{data:[{name:'Wallace'},{name:'Grommit'}]}";
jsonObjSplit = new JSONObject(json1);
JSONArray ja = jsonObjSplit.getJSONArray("data");
for (int i = 0; i < ja.length(); i++) {
JSONObject jo = (JSONObject) ja.get(i);
System.out.println(jo.get("name"));
}

//JSONObject遍历json对象
String json2 = "{name:'Wallace',age:15}";
jsonObj = new JSONObject(json2);

for (Iterator iter = jsonObj.keys(); iter.hasNext();) {
String key = (String)iter.next();
System.out.println(jsonObj .getString(Key));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: