zoukankan      html  css  js  c++  java
  • 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);
        }
    
    
    
  • 相关阅读:
    数据库ACID
    tcp ip detatils
    process vs thread
    C++ virtual descructor
    static_cast dynamic_cast const_cast reinterpret_cast总结对比
    Meta Programming
    C++ traits
    c++内存管理
    洛谷 P4136 谁能赢呢?
    洛谷 P1166 打保龄球
  • 原文地址:https://www.cnblogs.com/suiyilaile/p/5232044.html
Copyright © 2011-2022 走看看