gson的动态解析json
2017-02-16 本文已影响581人
Lazy1
看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
这个取出的类型自己去判断什么类型然后转成自己需要的类型就行啦!