JAVA中 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对象使用

//JSONObject对象的创建和数据的添加(key-value方式)
    private static JSONObject createJSONObject(){   
        JSONObject jsonObject = new JSONObject();   
        jsonObject.put("username","天涯草");   
        jsonObject.put("sex", "男");   
        jsonObject.put("QQ", "1");   
        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");

//把jsonArray对象 添加到jsonObject对象
        jsonObject.element("jsonArray", jsonArray);   
        JSONArray array = jsonObject.getJSONArray("jsonArray");   
        System.out.println("返回一个JSONArray对象:"+array);

//添加JSONArray后的值   
        // {"username":"天涯草","sex":"男","QQ":"天涯草","Min.score":99,"nickname":"天涯草","address":"天涯草","jsonArray":["this is a jsonArray value","another jsonArray value"]}  
        System.out.println("结果="+jsonObject);   
           
        //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"));
        
    }

三、JSONArray和JSONObject的互相添加

JSONObject jo = new JSONObject();
jo.put("isleaf",
true);
jo.put("name", "zhangsan");
jo.put("age",
"25");

JSONObject jo2 = new JSONObject();
jo2.put("isleaf",
false);
jo2.put("name", "lisi");
jo2.put("age",
"25");

(1)//把JSONObject添加到中JSONArray

JSONArray ja0 = new JSONArray();
ja0.add(jo3);

(2)//把JSONArray添加到JSONObject中

jo2.element("children",
ja0);
System.out.println(jo2.toString());

JSONArray ja1 = new JSONArray();
ja1.add(jo);
ja1.add(jo2);

四、JSONArray 中遍历 JSONObject

方法一:

JSONArray array = JSONArray.fromObject(data);

for (Object object : array) {

  JSONObject o = JSONObject.fromObject(object);

    o.get("name")

}

方法二:

JSONArray array = JSONArray.fromObject(data);

for (int i = 0; i < array.size(); i++) {

   JSONObject o = array.getJSONObject(i);

   o.get("name")

}

时间: 2024-12-18 02:33:08

JAVA中 JSONObject与JSONArray的使用的相关文章

[fastjson] - fastjson中 JSONObject 和 JSONArray

/** * 对jsonObject对象进行key的获取 * @param jsonObject */ public ArrayList<String> jsonKeyRecursion(JSONObject jsonObject,ArrayList urlArr){ //创建urlArr用来存放url路径values JSONObject littleJson = null; //对jsonObject中的url(key)的value进行更替, 加入授权请求连接 // String key =

json-lib中的JSONObject和JSONArray

json-lib是用来完成beans,collections,maps,java数组 ,XML与JSON之间互相转换的jar包,json-lib依赖于其它几个jar包(我试过所有的jar包都用最新版本的,结果是会报错的,这说明版本之间还是有配套关系的,合适的才是最好的!),如下图所示,可以到这里下载! 而在json-lib中JSONObject和JSONArray是用得很频繁的两个类. JSONObject是无序的键值对的集合,是用“花括号”括起来的一系列键值对:例如:{"id":&q

Java生成json串、JSONObject与JSONArray的使用

1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 2.JSONObject对象使用 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转

Android中的JSONObject和JSONArray的使用

在Android的jdk开发包中已经包含了JSON的几个API: 也可以下载JSON包:http://files.cnblogs.com/java-pan/lib.rar JSONObject 在线API:http://json-lib.sourceforge.net/apidocs/jdk15/index.html 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar common

Java中对JSONArray中的对象的某个字段进行排序

需求: 今天调用一个第三方接口,然后返回的是一个josn数组,需要根据里面的"报告日期"报告日期进行由大到小排序,最新的排在前面. 这种别人接口已经开发完成,不能改,所以只有我们自己来排序. 思路一():将josn数组转为list集合,然后获取到里面的每个对象,再获取"报告日期",然后排序,然后对对应的对象排序. 思路二: 实现java的Collections.sort方法,自定义Comparator方法,然后排序. 这样效率比较高. 下面是测试和实现代码. imp

嵌套的JsonObject与JSONArray的取值---JSON中嵌套JSONArray

在复杂的JSON数据的格式中,往往会对JSON数据进行嵌套,这样取值会比之前的取值稍微复杂一点,但是只要思路清晰,其实取法还是一样的.就跟if else语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦.所以啊,对于json嵌套,只要记住符号“:”前是键,符号后是值,大括号成对找,一层层剥开,就清楚了. 举个例子说明,如下: { "resultcode":"200", "reason":"

json 的解析-使用Android中的JSONObject和JSONArray解析json数据

1.代码 public class MainActivity extends Activity { TextView tv_json; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_json = (TextView) findViewById(R.id.tv_j

java json字符串转JSONObject和JSONArray以及取值

import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { String joStr = "{name:\"张三\",age:\"20\"}"; //将json字符串转化为JSONObject JSONObject jsonObject = JSONObje

java 中关于json的使用方法

json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [{"id":1,"name":"name1","password":"password1","remark":"remark1"},{"id":2,&