加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSONObject与JSONArray的使用

发布时间:2020-12-16 19:58:35 所属栏目:百科 来源:网络整理
导读:JSONObject与JSONArray的使用 一、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

JSONObject与JSONArray的使用

一、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对象使用

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);

//把字符转换为 JSONObject
String 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"));// 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",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,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 underJ2EE
发表评论|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));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读