gson的动态解析json

作者: Lazy1 | 来源:发表于2017-02-16 15:32 被阅读581次

    看json

    {li:{"temperature":"15","weather":"多云转晴","wind":"东北风微风","week":"星期日","date":"20151011"}}
    
    

    当你遇到其中date要是后面跟的类型多变怎么办呢?还要写一个解析类?不用

    /**
     * 项目名称:Demo1
     * 类描述:
     * 创建人:Administrator
     * 创建时间:2017/2/16 14:54
     * 修改人:Administrator
     * 修改时间:2017/2/16 14:54
     * 修改备注:
     * 联系方式:906514731@qq.com
     */
    public class TestEnty {
        Map<String,Object> li;
    }
    
    
    package com.Company.Demo;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import com.google.gson.Gson;
    import java.util.Map;
    
    public class MainActivity extends AppCompatActivity {
        private String json = "{li:{\"temperature\":\"15\",\"weather\":\"多云转晴\",\"wind\":\"东北风微风\",\"week\":\"星期日\",\"date\":\"20151011\"}}";
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Gson gson = new Gson();
            TestEnty testEnty = gson.fromJson(json, TestEnty.class);
            Map<String, Object> li = testEnty.li;
    
            for (String key : li.keySet()) {                        //遍历取出key,再遍历map取出value。
                Log.e("key", key);
                Log.e("li.get(key).toString()", li.get(key).toString());
            }
    
    
        }
    }
    
    
    
    Paste_Image.png

    这个取出的类型自己去判断什么类型然后转成自己需要的类型就行啦!

    相关文章

      网友评论

        本文标题:gson的动态解析json

        本文链接:https://www.haomeiwen.com/subject/owkhwttx.html