java json 对象操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao__zhen/article/details/82717499

java json 对象操作

  • JSONObject 类必须引用的jar包
commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-lang-2.5.jar
commons-logging.jar
ezmorph-1.0.3.jar
json-lib-2.1-jdk15.jar
  • java 操作json需要引入以下类库:
import net.sf.json.JSONArray;  
import net.sf.json.JSONException;  
import net.sf.json.JSONObject; 

josn 的常用操作

package javaa;
import java.util.ArrayList;

import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject; 
public class JsonObject {
     private static void testJsonBean() {
         /**
          * 
          * 创建java对象 
          */  
            Student student = new Student();  
            student.setId(1);  
            student.setName("李四");  
            student.setSex("man");  
            student.setAge(25);  
            student.setHobby(new String[] { "篮球", "上网", "跑步", "游戏" });

            /**
             *java对象转换为json对象,并获取json对象属性
             */
            JSONObject jsonObject = JSONObject.fromObject(student);
            System.out.println(jsonObject.toString());
            //获取jsonObject对象的属性
            System.out.println(jsonObject.getString("id"));
            System.out.println(jsonObject.getJSONArray("hobby"));
            /**
             * json对象转换成java对象,并获取对象属性
             */
            Student student2 = (Student) JSONObject.toBean(jsonObject,Student.class);
            System.out.println(student2);

            Student student3 = new Student();
            student3.setAge(40);
            student3.setId(2);
            student3.setName("zane");
            student3.setSex("female");
            student3.setHobby(new String[]{"rnning","jogging"});

            ArrayList<Student> list = new ArrayList<Student>();
            list.add(student);
            list.add(student3);
            /**
             * 将list转化为jsonarray
             */
            JSONArray jsonArray = JSONArray.fromObject(list);
            System.out.println(jsonArray.toString());

            /**
             * jsonArray 转化为list
             */
            List<Student> list2 = ((List) JSONArray.toCollection(jsonArray,Student.class));
            System.out.println(list2);        
     }

    public static void main(String[] args) {
        /**
         * 新建JSONObject()对象
         */
         JSONObject jsonObj = new JSONObject();  
         jsonObj.put("id", 1);  
         jsonObj.put("name", "张勇");  
         jsonObj.put("sex", "男");  
         jsonObj.put("age", 24); 
         jsonObj.put("hobby", new String[]{"上网","游戏","跑步","音乐"});
         System.out.println(jsonObj.toString());
          /**
           * 向JSONObject对象中添加元素
           */
         jsonObj.element("address", "xidian");
         System.out.println(jsonObj.toString());

         /**
          * 将JSONObject对象转化为Student对象
          */
         Student student = (Student) JSONObject.toBean(jsonObj,Student.class);
         System.out.println(student);

         JsonObject.testJsonBean();

    }

}

JSONObject 和JSONArray的使用

  1. JSONObject 和JSONArray的区别
    • JSONObject的数据是用 { } 来表示的,例如: { “id” : “123”, “courseID” : “huangt-test”, “title” : “提交作业”, “content” : null }
    • JSONArray,顾名思义是由JSONObject构成的数组,用 [ { } , { } , …… , { } ] 来表示,例如: [ { “id” : “123”, “courseID” : “huangt-test”, “title” : “提交作业” } , { “content” : null, “beginTime” : 1398873600000 “endTime” } ]
  2. 如何从字符串String获得JSONObject对象和JSONArray对象
JSONObject  jsonObject  = new JSONObject ( String  str);
JSONArray jsonArray = new JSONArray(String    str  ) ;
  1. 如何从JSONArray 中获取JSONObject
    大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样
JSONObject   jsonObject  =  jsonArray.getJSONObject(i);  
  1. 获取json中的数据
int   mid= jsonObject.getInt ( "id" ) ;   
String  mcourse=jsonObject.getString( " courseID") ;

猜你喜欢

转载自blog.csdn.net/zhao__zhen/article/details/82717499