EExcel 丞燕快速查詢2

EExcel 丞燕快速查詢2
EExcel 丞燕快速查詢2 https://sandk.ffbizs.com/
顯示具有 json 標籤的文章。 顯示所有文章
顯示具有 json 標籤的文章。 顯示所有文章

mysql json mariadb

最近寫mysql 發現 原來 mysql 在json內容時,也有支援一些操作

 https://www.cnblogs.com/chuanzhang053/p/9139624.html

 https://medium.com/micheh/%E5%9C%A8-mysql-%E4%BD%BF%E7%94%A8-json-5796a65701ad 

再加上 mysql 還有另一個譆能 虛疑欄位 GENERATED ALWAYS AS

 http://blog.changyy.org/2017/09/mysql-json-mysql-57.html

 基本上可以把json內的某欄位值當成 virutal colume, 直接輸出 覺得這樣可以玩出很多變化 

https://www.cnblogs.com/waterystone/p/5626098.html

flutter dart json decode encode

Very Important!


{"107年工作":{"zhangqi":[{"name":"王大明1"},{"name":"孫小明1"}],"chaojiangeren":[{"name":"nnn1","addr":"aaa1"},{"name":"nnn2","addr":"aaa2"}]},"108年法會":{"zhangqi":[{"name":"王大明1"},{"name":"孫小明1"}]}}


zhangqi : [ .... ]
chaojiangeren: [ .... ]


zhangqi : [ {....}, {....} ]
chaojiangeren: [ {....}, {....} ]


Can't have \' or \"

If have this, json.decode can't List


List<dynamic> => List<ItemName>
List<dynamic> => List<ItemNameAddr>


List<ItemName> zhangqi = List<ItemName>();
zhangqi.add(new ItemName(name:"王大明1"));
zhangqi.add(new ItemName(name:"孫小明1"));

List<ItemNameAddr> chaojiangeren = List<ItemNameAddr>();
chaojiangeren.add(new ItemNameAddr(name:"nnn1", addr:"aaa1"));
chaojiangeren.add(new ItemNameAddr(name:"nnn2", addr:"aaa2"));


class ItemName {
  String name;

  ItemName({ this.name }) ;
  ItemName.fromJson(Map<String, dynamic> json) : name = json['name'];
  Map toJson() => {"name": name };  //給json.encode使用,沒有的話,會錯誤
}

class ItemNameAddr {
  String name;
  String addr;

  ItemNameAddr({ this.name, this.addr }) ;
  ItemNameAddr.fromJson(Map<String, dynamic> json) : name = json['name'], addr = json['addr'];
  Map toJson() => {"name": name, "addr": addr};  //給json.encode使用,沒有的話,會錯誤
}

Future<List<ItemName>> getListItemName(List maps) async {
  return new List<ItemName>.generate(maps.length, (i) {
    return ItemName(
      name: maps[i]['name'],
    );
  });
}

Future<List<ItemNameAddr>> getListItemNameAddr(List maps) async {
  return new List<ItemNameAddr>.generate(maps.length, (i) {
    return ItemNameAddr(
      name: maps[i]['name'],
      addr: maps[i]['addr'],
    );
  });
}