Gson 解析 json中 value為陣列
1 本文的json資料格式:
{
"hotcolumns":[
{
"client": "mobile",
"cname": "看東西",
"ename": "ldax",
"hot": true,
},
{
"client": "mobile",
"cname": "仁說",
"ename": "sda,
"hot": true,
}
]
}
2 生成的model(JavaBean)
import java.util.List; public class JsonBean { public List<Hotcolumns> hotcolumns; public List<Hotcolumns> getHotcolumns() { return hotcolumns; } public void setHotcolumns(List<Hotcolumns> hotcolumns) { this.hotcolumns = hotcolumns; } /* "client": "mobile", "cname": "看東西", "ename": "ldx", "hot": true, */ public static class Hotcolumns { public String client; public String cname; public String ename; public String hot; public String getClient() { return client; } public void setClient(String client) { this.client = client; } public String getCname() { return cname; } public void setCname(String cname) { this.cname = cname; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public String getHot() { return hot; } public void setHot(String hot) { this.hot = hot; } } }
3 呼叫
ps:android studio中 GSon庫匯入比較簡單:build.gradle中新增依賴: dependencies { compile 'com.google.code.gson:gson:2.2.4'}public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String json =readLocalJson(this); //讀取資料 實際專案中一般載入網路資料:需非同步請求網路 json=json.replace("\t",""); Gson gson = new Gson(); java.lang.reflect.Type type = new TypeToken<JsonBean>() {}.getType(); JsonBean jsonBean = gson.fromJson(json, type); //JsonBean.class } public static String readLocalJson(Context context){//這裡測試程式 放在本地 String jsonString=""; String resultString=""; try { InputStream inputStream = context.getResources().openRawResource(R.raw.test); BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream)); while ((jsonString=bufferedReader.readLine())!=null) { resultString+=jsonString; } } catch (Exception e) { // TODO: handle exception } return resultString; } }
若為簡單的型別 可使用: gson.from(json JsonBean.class)
若為複雜的型別 : 使用反射
本文兩者皆可。
相關推薦
Gson 解析 json中 value為陣列
1 本文的json資料格式: { "hotcolumns":[ { "client": "mobile", "cname": "看東西", "ename": "ldax", "hot": true, }, { "client": "
使用gson解析json後怎麼把陣列放到listview中
json資料是這個: {"total":100,"rows":[{"key":"key1","value":"value1"},{"key":"key2","value":"value2"}]} 結構是這樣的 public class A { public int to
Gson解析JSON中動態未知欄位key的方法
前面一篇文章我介紹了Gson的解析的基本方法。但我們在享受Gson解析的高度封裝帶來的便利時,有時可能會遇到一些特殊情況,比如json資料中的欄位key是動態可變的時候,由於Gson是
簡單使用Gson解析SDcard中的Json檔案
File file = new File(Environment.getExternalStorageDirectory(),"news.json"); try { FileInputStream fileInputStream = new FileInputStream(file
android Gson解析JSON資料中動態未知欄位key的方法
有時在解析json資料中的欄位key是動態可變的時候,由於Gson是使用靜態註解的方式來設定實體物件的,因此我們很難直接對返回的型別來判斷。但Gson在解析過程中如果不知道解析的欄位,就會將所有變數儲存在一個Map中,我們只要例項化這個map就能動態地取出key和value了。先給出一段js
Android-Gson解析JSON資料(JSON物件/JSON陣列)
上一篇部落格,Android-解析JSON資料(JSON物件/JSON陣列),介紹了使用 org.json.JSONArray;/org.json.JSONObject; 來解析JSON資料; Google Android 還提供來另外一種方式來解析JSON資料,那就是Gson;
JS解析json資料(如何將json字串轉化為陣列)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE>
android開發之 Gson 解析json陣列
為了紀念兩天解決的一個問題。 剛剛接觸到android的volley 框架,使用jsonarrayrequest的時候,得到jsonarray 問高手說可以用Gson 來解析於是開始了兩天的鑽研之路。 首先我的資料是這樣的 然後,你需要自己寫一個類,對應後臺資料的一個
Android使用GSON解析JSON資料——以解析本省市區三級資料為例
一、認識一下JSON JSON的語法規則: 資料在名稱/值對中 資料由逗號分隔 物件在大括號中{} 陣列在中括號內[] 由此可以看出,JSON主要是由資料、物件和陣列組成的文字。他們之間的關係大概就是 物件由多個數據(名稱/值對)組成 物件可以包含陣列 陣列可
Android中使用Gson解析JSON資料
在Android中可以使用Gson解析JSON資料 首先,從 code.google.com/p/google-gson/downloads/list下載GsonAPI: google-gson-1.7.1-release.zip 把gson-1.7.jar c
Gson解析JSON資料中動態未知欄位key的方法
有時在解析json資料中的欄位key是動態可變的時候,由於Gson是使用靜態註解的方式來設定實體物件的,因此我們很難直接對返回的型別來判斷。但Gson在解析過程中如果不知道解析的欄位,就會將所有變數儲存在一個Map中,我們只要例項化這個map就能動態地取出key
使用gson解析json陣列
json陣列: [ { "address": "中國", "age": 30, "name": "小明", "sex": "bo
Gson解析json陣列
package test; import java.lang.reflect.Type; import java.util.LinkedList; import java.util.List; import com.google.gson.Gson;
Gson的使用——Gson解析json陣列並展示在ListView控制元件上
類似於解析json資料的框架有很多,常用的就是Gson,使用起來特別的方便,同時,還擁有很好的可操作性,今天就來說說怎麼用Gson去解析一個json陣列。使用Gson之前,需要下載一個gson.jar的jar包。具體的自己去網上下載,有很多。 首先看看資料來源
解析用Gson解析json遇到”一”:“二”類似字串key,value,如何編寫實體類
{"測A00007":["離線","離線"],"測A00006":["離線","離線"],} 如上, 實體類: public class AAA { public HashMap<String,LinkedList<HashMap<String,Str
php中使用json_decode解析json字串返回為Null
1.0 如下為錯誤的json格式,json標準中規定正確的json格式為json的key必須為雙引號。因此以下字串不是json字串。 在用json_decode解析時回返回null. //在php中出現使用json_decode解析json字串失敗,返回為null; $a
Gson解析json
down googl -s span info 解析 實例 pack targe 以下是我依據Gson對json做的一些解析案例,如今我來說說Gson是如何進行Json解析的。 新建一個project: WeatherDemo,導入Gson包。Gson庫導入完畢之後就開
Android Gson解析json工具類封裝
pac spa google lis object sonar andro on() div package com.springSecurity.gson; import java.util.ArrayList; import java.util.List
eval解析JSON中的註意點
而不是 img red php blank undefined 字符 n) java eval解析JSON中的註意點 在JS中將JSON的字符串解析成JSON數據格式,一般有兩種方式: 1.一種為使用eval()函數。 2. 使用Function對象來進行返回解析。 使用
Gson解析json數組
ken log rom new linked listt new t getjson string String getjson = (String) msg.obj;Type listType = new TypeToken<LinkedList<bean&g