首先準備好json資料
//乙個json格式的使用者列表字串
string jsonstr = '[,]';
//string jsonstr1 = '';
匯入
import 'dart:convert';
使用 json.decode()將json字串轉為集合物件
json.encode()將集合物件轉為json字串
//將json字串轉為dart物件(此處是list)
list items = json.decode(jsonstr);
//輸出第乙個使用者的姓名
print(items[0]["name"]);
//json字串轉map型別
map usermap = json.decode(jsonstr1);
print(usermap);
//map轉json字串
print(json.encode(usermap));
結果:
可以看到,map型別是不帶 雙引號的
方法一:自定義 model ,只是為了弄懂記錄一下,不建議實際使用
首先準備好資料:使用上面的 jsonstr1
string jsonstr1 = '';
//json字串轉map型別
map usermap = json.decode(jsonstr1);
現在針對這個map 我們自定義乙個 model類:user
class user ;
}
使用:
var user = user.fromjson(usermap);
print(user.name);
user.name = "bob";
// 這裡只是把 user 轉換 為 map
print(user.tojson());
// 要 json 格式字串 還需要使用 json.encode()
print(json.encode(user.tojson()));
結果:
方法二:使用 外掛程式 flutterjsonbeanfactory 自動生成 model class
準備資料:
var webinfo = ,
]};
生成 model 類(這裡不好截圖)
new -> jsontodartbeanaction,出現:
make後得到 model 類:
class webinfoentity );
webinfoentity.fromjson(mapjson) );
} }maptojson()
return data; }}
class webinfosite );
webinfosite.fromjson(mapjson)
maptojson()
}
現在可以使用了:
// 把 json 資料 轉換為 webinfoentity 類
var w = webinfoentity.fromjson(webinfo);
print(w.sites[0].info[2]);
w.sites[0].info[2] = "tianmao";
print(w.tojson()); //map
結果:
使用 dio 獲取 json 資料
準備資料:
// 返回 json 字串的**
final string apiurl1 = "";
使用:
dio dio = dio();
// 通過 dio get 資料
future _getdio() async
結果:
這個 dio 返回後的資料直接就是 集合型別了,可以直接操作(就不需要使用json.decode()了)實際應用場景:可以配合 listview來展示資料等具體返回什麼型別的集合,是 dio 根據 json 格式自動判定的,
使用的時候可以先通過 print(response.data.runtimetype); 檢視型別,
再決定是直接操作,還是轉換為 model 類
JSON在android中應用
android裡面許可權控制的比較嚴,一般的應用當需要使用系統或者root許可權是,比較麻煩,所以編寫乙個root service用來處理root許可權請求,通過socket通訊 cpp view plain copy print?標準標頭檔案放在前面,否則有些函式定義會被覆蓋掉 include i...
在java裡拼接JSON
1.錯誤的格式 parenttypesjson 這裡的 有問題,因為這裡需要傳遞陣列,所以是 這個有問題。2.錯誤的格式 parenttypesjson 這裡冒號後面就為空了,拼接還是有問題。3.正確的格式 string typeswithselectcontroljson string paren...
在 golang 中使用 Json
序列化物件將使用 encoding json 中的 marshal 函式。函式原型為 func marshal v inte ce byte,error 以下是官網給出的例子 package main import encoding json fmt os func main group color...