在java中 解析json对象 需要JSON-lib这个java json库
JSONArray类:这个类是把迭代器转化成为JSONObject数组,采用如下方法即可完成JSONArray.fromObject(jsonString),JSONArray.fromObject(jsonList).如果需要反解析的话,则可以迭代解析或者是直接强制解析,反正JSONArray也是一个迭代起来的。
JSONObject类:这个类能够将符合Json格式的字符串转化成为严格的Json对象,即JSONObject。同样也能够把Map和自己的bean对象转换成为严格的Json对象,其应用的就是JSONObject.fromObject( obj)方法了。如果需要把Json对象转换回来的话,就需要new一个JSONObject对象,然后用JSONObject.toBean(jsonObject),然后再把这个Json对象强制转化成为您需要的类型即可,也可以采用JSONObject.toBean(jsonObject,pojoCalss),pojoCalss是一个自定义的class或者系统class。
下面是一个例子
import net.sf.json.JSONArray;
public class TestJson{
public static void main(String []args) {
String json = "[" +
"{\"a\":\"111\",\"b\":\"222\",\"c\":\"333\"}," +
"{\"a\":\"1000\",\"b\":\"2000\",\"c\":\"000\"}," +
"{\"a\":\"999\",\"b\":\"300\",\"c\":\"700\"" +
"}]";
JSONArray jsonArr = JSONArray.fromObject(json);
String a[] = new String[jsonArr.size()];
String b[] = new String[jsonArr.size()];
String c[] = new String[jsonArr.size()];
for (int i = 0; i < jsonArr.size(); i++) {
a[i] = jsonArr.getJSONObject(i).getString("a");
b[i] = jsonArr.getJSONObject(i).getString("b");
c[i] = jsonArr.getJSONObject(i).getString("c");
}
for (int i = 0; i < c.length; i++) {
System.out.print(a[i]+" ");
System.out.print(b[i]+" ");
System.out.print(c[i]);
System.out.println();
}
}
}