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

基于json-lib.jar包创建JSONObject的四个常用方法

2010-11-28 18:47 513 查看
基于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"));// student

System.out.println(jsonObject.getString("sex"));// male

System.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"));// student

System.out.println(jsonObject.getString("sex"));// male

System.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()来转换;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: