import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
/**
* 在开发短信公众平台的时候用到 json ,现在把他整理了一下。
* @param args
*/
public static void main(String[] args) {
/**
* 创建一个json对象是object类型的
* json 是键值对的关系,是不是像Map
* 是通过key 得到value
*/
JSONObject ob=new JSONObject();
//往对象里添加两个属性
ob.accumulate("name", "张三");
ob.accumulate("sex", "男");
//输出看看是个什么东西
//System.out.println(ob);
//那怎么得到里面的value呢?前面提到过json是键值对的关系,
//可以通过key得到value。
// System.out.println(ob.get("name"));
// System.out.println(ob.get("sex"));
//下面来看下如何创建数组 ,通过JSONArray创建一个数组,有点像集合
//他有size方法,往数组里添加值是通过add方法。
JSONArray array=new JSONArray();
array.add("18");
array.add("java");
array.add("张三");
//打印结果为3
System.out.println(array.size());
//如何从数组中取值呢,通过下标取值。
//打印结果为18
System.out.println(array.get(0));
/**
* 到这里我们知道了,JSONObject 是创建一个对象或者是字符串
* JSONArray 是创建一个数组。
* 下面我们来看一个复杂的。对象中有数组,数组中有对象
*/
//创建一个对象,这是一个班级对象有班级名称
JSONObject json=new JSONObject();
json.accumulate("class", "1222");
//创建一个数组,学生姓名,性别,手机,住址
JSONArray array1=new JSONArray();
for(int i=0;i<4;i++){
JSONObject ob1=new JSONObject();
ob1.accumulate("name", "李四"+i);
ob1.accumulate("sex", "男"+i);
ob1.accumulate("mobile","10086"+i );
ob1.accumulate("address", "上海市。。。。。"+i);
array1.add(ob1);
}
//把学生数组放到班级对象里
json.accumulate("Student", array1);
//运行结果:{"class":"1222","Student":[{"name":"李四0","sex":"男0","mobile":"100860","address":"上海市。。。。。0"},{"name":"李四1","sex":"男1","mobile":"100861","address":"上海市。。。。。1"},{"name":"李四2","sex":"男2","mobile":"100862","address":"上海市。。。。。2"},{"name":"李四3","sex":"男3","mobile":"100863","address":"上海市。。。。。3"}]}
//现在理解前面的那句话了把。
System.out.println(json);
/**
* 你能把他解析出来,说明你已经掌握了。
*/
}
}