JSON 数据解析

json解析的几种方法(将字符串解析为object对象和objectArray对象数组)

1 Android自带api  包名 org.json

//    json = {"school":"江夏一中","classList":[
//    {"title":"一年级","number":100},
//    {"title":"二年级","number":200},
//    {"title":"三年级","number":300},};
    private void getJsonObject(String json){
        try {
            //将字符串json解析为object对象
            JSONObject jsonObject = new JSONObject(json);
            //将object对象里面的name属性解析为对象数组
            JSONArray jsonArray = jsonObject.getJSONArray("classList");
            //将jsonArray对象数组循环取值
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject obj = new JSONObject(jsonArray.getString(i));
                String title = obj.getString("title");
                int number = obj.getInt("number");
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        
    }

 2 FastJson  包名 : com.alibaba.fastjson.JSON

   阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分

      它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); // 将JavaBean序列化JSONObject或者JSONArray 

3 Google Gson 包名:com.google.gson.Gson

    private void testGson(String json){
        Gson gson = new Gson();
        Student student = gson.fromJson(json, Student.class);
    }


原文地址:https://www.cnblogs.com/suiyilaile/p/5232044.html