java json 对象操作
程序员文章站
2022-07-12 16:29:23
...
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的使用
- JSONObject 和JSONArray的区别
- JSONObject的数据是用 { } 来表示的,例如: { “id” : “123”, “courseID” : “huangt-test”, “title” : “提交作业”, “content” : null }
- JSONArray,顾名思义是由JSONObject构成的数组,用 [ { } , { } , …… , { } ] 来表示,例如: [ { “id” : “123”, “courseID” : “huangt-test”, “title” : “提交作业” } , { “content” : null, “beginTime” : 1398873600000 “endTime” } ]
- 如何从字符串String获得JSONObject对象和JSONArray对象
JSONObject jsonObject = new JSONObject ( String str);
JSONArray jsonArray = new JSONArray(String str ) ;
- 如何从JSONArray 中获取JSONObject
大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样
JSONObject jsonObject = jsonArray.getJSONObject(i);
- 获取json中的数据
int mid= jsonObject.getInt ( "id" ) ;
String mcourse=jsonObject.getString( " courseID") ;
上一篇: Event事件对象之Event
下一篇: c++this指针演示链式编程思想