json转Model类

创建model文件夹,在里面新建category.dart类

主要根据这个json来分析我们要做成类的样子

  1. {
  2. "code": "0",
  3. "message": "success",
  4. "data": [
  5. {
  6. "mallCategoryId": "4",
  7. "mallCategoryName": "白酒",
  8. "bxMallSubDto": [
  9. {
  10. "mallSubId": "2c9f6c94621970a801626a35cb4d0175",
  11. "mallCategoryId": "4",
  12. "mallSubName": "名酒",
  13. "comments": ""
  14. },
  15. {
  16. "mallSubId": "2c9f6c94621970a801626a363e5a0176",
  17. "mallCategoryId": "4",
  18. "mallSubName": "宝丰",
  19. "comments": ""
  20. },
  21. {
  22. "mallSubId": "2c9f6c94621970a801626a3770620177",
  23. "mallCategoryId": "4",
  24. "mallSubName": "北京二锅头",
  25. "comments": ""
  26. },
  27. {
  28. "mallSubId": "2c9f6c94679b4fb10167f7cc035c15a8",
  29. "mallCategoryId": "4",
  30. "mallSubName": "大明",
  31. "comments": null
  32. },
  33. {
  34. "mallSubId": "2c9f6c94679b4fb10167f7cc2af915a9",
  35. "mallCategoryId": "4",
  36. "mallSubName": "杜康",
  37. "comments": null
  38. },
  39. {
  40. "mallSubId": "2c9f6c94679b4fb10167f7cc535115aa",
  41. "mallCategoryId": "4",
  42. "mallSubName": "顿丘",
  43. "comments": null
  44. },
  45. {
  46. "mallSubId": "2c9f6c94679b4fb10167f7cc77b215ab",
  47. "mallCategoryId": "4",
  48. "mallSubName": "汾酒",
  49. "comments": null
  50. },
  51. {
  52. "mallSubId": "2c9f6c94679b4fb10167f7cca72e15ac",
  53. "mallCategoryId": "4",
  54. "mallSubName": "枫林",
  55. "comments": null
  56. },
  57. {
  58. "mallSubId": "2c9f6c94679b4fb10167f7cccae215ad",
  59. "mallCategoryId": "4",
  60. "mallSubName": "高粱酒",
  61. "comments": null
  62. },
  63. {
  64. "mallSubId": "2c9f6c94679b4fb10167f7ccf0d915ae",
  65. "mallCategoryId": "4",
  66. "mallSubName": "古井",
  67. "comments": null
  68. },
  69. {
  70. "mallSubId": "2c9f6c94679b4fb10167f7cd1d6715af",
  71. "mallCategoryId": "4",
  72. "mallSubName": "贵州大曲",
  73. "comments": null
  74. },
  75. {
  76. "mallSubId": "2c9f6c94679b4fb10167f7cd3f2815b0",
  77. "mallCategoryId": "4",
  78. "mallSubName": "国池",
  79. "comments": null
  80. },
  81. {
  82. "mallSubId": "2c9f6c94679b4fb10167f7cd5d3015b1",
  83. "mallCategoryId": "4",
  84. "mallSubName": "国窖",
  85. "comments": null
  86. },
  87. {
  88. "mallSubId": "2c9f6c94679b4fb10167f7cd7ced15b2",
  89. "mallCategoryId": "4",
  90. "mallSubName": "国台",
  91. "comments": null
  92. },
  93. {
  94. "mallSubId": "2c9f6c94679b4fb10167f7cd9b9015b3",
  95. "mallCategoryId": "4",
  96. "mallSubName": "汉酱",
  97. "comments": null
  98. },
  99. {
  100. "mallSubId": "2c9f6c94679b4fb10167f7cdbfd215b4",
  101. "mallCategoryId": "4",
  102. "mallSubName": "红星",
  103. "comments": null
  104. },
  105. {
  106. "mallSubId": "2c9f6c946891d16801689474e2a70081",
  107. "mallCategoryId": "4",
  108. "mallSubName": "怀庄",
  109. "comments": null
  110. },
  111. {
  112. "mallSubId": "2c9f6c94679b4fb10167f7cdddf815b5",
  113. "mallCategoryId": "4",
  114. "mallSubName": "剑南春",
  115. "comments": null
  116. },
  117. {
  118. "mallSubId": "2c9f6c94679b4fb10167f7cdfd4815b6",
  119. "mallCategoryId": "4",
  120. "mallSubName": "江小白",
  121. "comments": null
  122. },
  123. {
  124. "mallSubId": "2c9f6c94679b4fb1016802277c37160e",
  125. "mallCategoryId": "4",
  126. "mallSubName": "金沙",
  127. "comments": null
  128. },
  129. {
  130. "mallSubId": "2c9f6c94679b4fb10167f7ce207015b7",
  131. "mallCategoryId": "4",
  132. "mallSubName": "京宫",
  133. "comments": null
  134. },
  135. {
  136. "mallSubId": "2c9f6c94679b4fb10167f7ce46d415b8",
  137. "mallCategoryId": "4",
  138. "mallSubName": "酒鬼",
  139. "comments": null
  140. },
  141. {
  142. "mallSubId": "2c9f6c94679b4fb101680226de23160d",
  143. "mallCategoryId": "4",
  144. "mallSubName": "口子窖",
  145. "comments": null
  146. },
  147. {
  148. "mallSubId": "2c9f6c94679b4fb10167f7ce705515b9",
  149. "mallCategoryId": "4",
  150. "mallSubName": "郎酒",
  151. "comments": null
  152. },
  153. {
  154. "mallSubId": "2c9f6c94679b4fb10167f7ce989e15ba",
  155. "mallCategoryId": "4",
  156. "mallSubName": "老口子",
  157. "comments": null
  158. },
  159. {
  160. "mallSubId": "2c9f6c94679b4fb10167f7cec30915bb",
  161. "mallCategoryId": "4",
  162. "mallSubName": "龙江家园",
  163. "comments": null
  164. },
  165. {
  166. "mallSubId": "2c9f6c94679b4fb10167f7cef15c15bc",
  167. "mallCategoryId": "4",
  168. "mallSubName": "泸州",
  169. "comments": null
  170. },
  171. {
  172. "mallSubId": "2c9f6c94679b4fb10167f7cf156f15bd",
  173. "mallCategoryId": "4",
  174. "mallSubName": "鹿邑大曲",
  175. "comments": null
  176. },
  177. {
  178. "mallSubId": "2c9f6c94679b4fb10167f7cf425b15be",
  179. "mallCategoryId": "4",
  180. "mallSubName": "毛铺",
  181. "comments": null
  182. },
  183. {
  184. "mallSubId": "2c9f6c94679b4fb10167f7cf9dc915c0",
  185. "mallCategoryId": "4",
  186. "mallSubName": "绵竹",
  187. "comments": null
  188. },
  189. {
  190. "mallSubId": "2c9f6c94679b4fb10167f7cfbf1c15c1",
  191. "mallCategoryId": "4",
  192. "mallSubName": "难得糊涂",
  193. "comments": null
  194. },
  195. {
  196. "mallSubId": "2c9f6c94679b4fb10167f7cfdd7215c2",
  197. "mallCategoryId": "4",
  198. "mallSubName": "牛二爷",
  199. "comments": null
  200. },
  201. {
  202. "mallSubId": "2c9f6c94679b4fb10167f7cf71e715bf",
  203. "mallCategoryId": "4",
  204. "mallSubName": "茅台",
  205. "comments": null
  206. },
  207. {
  208. "mallSubId": "2c9f6c94679b4fb10167f7d7eda715c3",
  209. "mallCategoryId": "4",
  210. "mallSubName": "绵竹",
  211. "comments": null
  212. },
  213. {
  214. "mallSubId": "2c9f6c94679b4fb10167f7d96e5c15c4",
  215. "mallCategoryId": "4",
  216. "mallSubName": "难得糊涂",
  217. "comments": null
  218. },
  219. {
  220. "mallSubId": "2c9f6c94679b4fb10167f7dab93b15c5",
  221. "mallCategoryId": "4",
  222. "mallSubName": "牛二爷",
  223. "comments": null
  224. },
  225. {
  226. "mallSubId": "2c9f6c94679b4fb10167f7dae16415c6",
  227. "mallCategoryId": "4",
  228. "mallSubName": "牛栏山",
  229. "comments": null
  230. },
  231. {
  232. "mallSubId": "2c9f6c94679b4fb10167f7db11cb15c7",
  233. "mallCategoryId": "4",
  234. "mallSubName": "前门",
  235. "comments": null
  236. },
  237. {
  238. "mallSubId": "2c9f6c94679b4fb10167f7db430c15c8",
  239. "mallCategoryId": "4",
  240. "mallSubName": "全兴",
  241. "comments": null
  242. },
  243. {
  244. "mallSubId": "2c9f6c94679b4fb10167f7db6cac15c9",
  245. "mallCategoryId": "4",
  246. "mallSubName": "舍得",
  247. "comments": null
  248. },
  249. {
  250. "mallSubId": "2c9f6c94679b4fb10167f7db9a4415ca",
  251. "mallCategoryId": "4",
  252. "mallSubName": "双沟",
  253. "comments": null
  254. },
  255. {
  256. "mallSubId": "2c9f6c94679b4fb10167f7dc30b815cb",
  257. "mallCategoryId": "4",
  258. "mallSubName": "水井坊",
  259. "comments": null
  260. },
  261. {
  262. "mallSubId": "2c9f6c94679b4fb10167f7dc543e15cc",
  263. "mallCategoryId": "4",
  264. "mallSubName": "四特",
  265. "comments": null
  266. },
  267. {
  268. "mallSubId": "2c9f6c94679b4fb10167f7dc765c15cd",
  269. "mallCategoryId": "4",
  270. "mallSubName": "潭酒",
  271. "comments": null
  272. },
  273. {
  274. "mallSubId": "2c9f6c94679b4fb10167f7dc988a15ce",
  275. "mallCategoryId": "4",
  276. "mallSubName": "沱牌",
  277. "comments": null
  278. },
  279. {
  280. "mallSubId": "2c9f6c94679b4fb10167f7dcba5a15cf",
  281. "mallCategoryId": "4",
  282. "mallSubName": "五粮液",
  283. "comments": null
  284. },
  285. {
  286. "mallSubId": "2c9f6c94679b4fb10167f7dcd9e815d0",
  287. "mallCategoryId": "4",
  288. "mallSubName": "西凤",
  289. "comments": null
  290. },
  291. {
  292. "mallSubId": "2c9f6c94679b4fb10167f7dcf6d715d1",
  293. "mallCategoryId": "4",
  294. "mallSubName": "习酒",
  295. "comments": null
  296. },
  297. {
  298. "mallSubId": "2c9f6c94679b4fb10167f7dd11b215d2",
  299. "mallCategoryId": "4",
  300. "mallSubName": "小白杨",
  301. "comments": null
  302. },
  303. {
  304. "mallSubId": "2c9f6c94679b4fb10167f7dd2f3c15d3",
  305. "mallCategoryId": "4",
  306. "mallSubName": "洋河",
  307. "comments": null
  308. },
  309. {
  310. "mallSubId": "2c9f6c94679b4fb10167f7dd969115d4",
  311. "mallCategoryId": "4",
  312. "mallSubName": "伊力特",
  313. "comments": null
  314. },
  315. {
  316. "mallSubId": "2c9f6c94679b4fb10167f7ddb16c15d5",
  317. "mallCategoryId": "4",
  318. "mallSubName": "张弓",
  319. "comments": null
  320. },
  321. {
  322. "mallSubId": "2c9f6c94679b4fb10167f7ddd6c715d6",
  323. "mallCategoryId": "4",
  324. "mallSubName": "中粮",
  325. "comments": null
  326. },
  327. {
  328. "mallSubId": "2c9f6c94679b4fb10167f7de126815d7",
  329. "mallCategoryId": "4",
  330. "mallSubName": "竹叶青",
  331. "comments": null
  332. }
  333. ],
  334. "comments": null,
  335. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170036_4477.png"
  336. },
  337. {
  338. "mallCategoryId": "1",
  339. "mallCategoryName": "啤酒",
  340. "bxMallSubDto": [
  341. {
  342. "mallSubId": "2c9f6c946016ea9b016016f79c8e0000",
  343. "mallCategoryId": "1",
  344. "mallSubName": "百威",
  345. "comments": ""
  346. },
  347. {
  348. "mallSubId": "2c9f6c94608ff843016095163b8c0177",
  349. "mallCategoryId": "1",
  350. "mallSubName": "福佳",
  351. "comments": ""
  352. },
  353. {
  354. "mallSubId": "402880e86016d1b5016016db9b290001",
  355. "mallCategoryId": "1",
  356. "mallSubName": "哈尔滨",
  357. "comments": ""
  358. },
  359. {
  360. "mallSubId": "402880e86016d1b5016016dbff2f0002",
  361. "mallCategoryId": "1",
  362. "mallSubName": "汉德",
  363. "comments": ""
  364. },
  365. {
  366. "mallSubId": "2c9f6c946449ea7e01647cd6830e0022",
  367. "mallCategoryId": "1",
  368. "mallSubName": "崂山",
  369. "comments": ""
  370. },
  371. {
  372. "mallSubId": "2c9f6c946449ea7e01647cd706a60023",
  373. "mallCategoryId": "1",
  374. "mallSubName": "林德曼",
  375. "comments": ""
  376. },
  377. {
  378. "mallSubId": "2c9f6c94679b4fb10167f7e1411b15d8",
  379. "mallCategoryId": "1",
  380. "mallSubName": "青岛",
  381. "comments": null
  382. },
  383. {
  384. "mallSubId": "2c9f6c94679b4fb10167f7e1647215d9",
  385. "mallCategoryId": "1",
  386. "mallSubName": "三得利",
  387. "comments": null
  388. },
  389. {
  390. "mallSubId": "2c9f6c94679b4fb10167f7e182e715da",
  391. "mallCategoryId": "1",
  392. "mallSubName": "乌苏",
  393. "comments": null
  394. },
  395. {
  396. "mallSubId": "2c9f6c9468118c9c016811ab16bf0001",
  397. "mallCategoryId": "1",
  398. "mallSubName": "雪花",
  399. "comments": null
  400. },
  401. {
  402. "mallSubId": "2c9f6c9468118c9c016811aa6f440000",
  403. "mallCategoryId": "1",
  404. "mallSubName": "燕京",
  405. "comments": null
  406. },
  407. {
  408. "mallSubId": "2c9f6c94679b4fb10167f7e19b8f15db",
  409. "mallCategoryId": "1",
  410. "mallSubName": "智美",
  411. "comments": null
  412. }
  413. ],
  414. "comments": null,
  415. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170044_9165.png"
  416. },
  417. {
  418. "mallCategoryId": "2",
  419. "mallCategoryName": "葡萄酒",
  420. "bxMallSubDto": [
  421. {
  422. "mallSubId": "2c9f6c9460337d540160337fefd60000",
  423. "mallCategoryId": "2",
  424. "mallSubName": "澳大利亚",
  425. "comments": ""
  426. },
  427. {
  428. "mallSubId": "402880e86016d1b5016016e083f10010",
  429. "mallCategoryId": "2",
  430. "mallSubName": "德国",
  431. "comments": ""
  432. },
  433. {
  434. "mallSubId": "402880e86016d1b5016016df1f92000c",
  435. "mallCategoryId": "2",
  436. "mallSubName": "法国",
  437. "comments": ""
  438. },
  439. {
  440. "mallSubId": "2c9f6c94621970a801626a40feac0178",
  441. "mallCategoryId": "2",
  442. "mallSubName": "南非",
  443. "comments": ""
  444. },
  445. {
  446. "mallSubId": "2c9f6c94679b4fb10167f7e5c9a115dc",
  447. "mallCategoryId": "2",
  448. "mallSubName": "葡萄牙",
  449. "comments": null
  450. },
  451. {
  452. "mallSubId": "2c9f6c94679b4fb10167f7e5e68f15dd",
  453. "mallCategoryId": "2",
  454. "mallSubName": "西班牙",
  455. "comments": null
  456. },
  457. {
  458. "mallSubId": "2c9f6c94679b4fb10167f7e609f515de",
  459. "mallCategoryId": "2",
  460. "mallSubName": "新西兰",
  461. "comments": null
  462. },
  463. {
  464. "mallSubId": "2c9f6c94679b4fb10167f7e6286a15df",
  465. "mallCategoryId": "2",
  466. "mallSubName": "意大利",
  467. "comments": null
  468. },
  469. {
  470. "mallSubId": "2c9f6c94679b4fb10167f7e6486615e0",
  471. "mallCategoryId": "2",
  472. "mallSubName": "智利",
  473. "comments": null
  474. },
  475. {
  476. "mallSubId": "2c9f6c94679b4fb10167f7e66c6815e1",
  477. "mallCategoryId": "2",
  478. "mallSubName": "中国",
  479. "comments": null
  480. }
  481. ],
  482. "comments": null,
  483. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170053_878.png"
  484. },
  485. {
  486. "mallCategoryId": "3",
  487. "mallCategoryName": "清酒洋酒",
  488. "bxMallSubDto": [
  489. {
  490. "mallSubId": "402880e86016d1b5016016e135440011",
  491. "mallCategoryId": "3",
  492. "mallSubName": "清酒",
  493. "comments": ""
  494. },
  495. {
  496. "mallSubId": "402880e86016d1b5016016e171cc0012",
  497. "mallCategoryId": "3",
  498. "mallSubName": "洋酒",
  499. "comments": ""
  500. }
  501. ],
  502. "comments": null,
  503. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170101_6957.png"
  504. },
  505. {
  506. "mallCategoryId": "5",
  507. "mallCategoryName": "保健酒",
  508. "bxMallSubDto": [
  509. {
  510. "mallSubId": "2c9f6c94609a62be0160a02d1dc20021",
  511. "mallCategoryId": "5",
  512. "mallSubName": "黄酒",
  513. "comments": ""
  514. },
  515. {
  516. "mallSubId": "2c9f6c94648837980164883ff6980000",
  517. "mallCategoryId": "5",
  518. "mallSubName": "药酒",
  519. "comments": ""
  520. }
  521. ],
  522. "comments": null,
  523. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170110_6581.png"
  524. },
  525. {
  526. "mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
  527. "mallCategoryName": "预调酒",
  528. "bxMallSubDto": [
  529. {
  530. "mallSubId": "2c9f6c946449ea7e01647d02f6250026",
  531. "mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
  532. "mallSubName": "果酒",
  533. "comments": ""
  534. },
  535. {
  536. "mallSubId": "2c9f6c946449ea7e01647d031bae0027",
  537. "mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
  538. "mallSubName": "鸡尾酒",
  539. "comments": ""
  540. },
  541. {
  542. "mallSubId": "2c9f6c946449ea7e01647d03428f0028",
  543. "mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
  544. "mallSubName": "米酒",
  545. "comments": ""
  546. }
  547. ],
  548. "comments": null,
  549. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170124_4760.png"
  550. },
  551. {
  552. "mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
  553. "mallCategoryName": "下酒小菜",
  554. "bxMallSubDto": [
  555. {
  556. "mallSubId": "2c9f6c946449ea7e01647dc18e610035",
  557. "mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
  558. "mallSubName": "熟食",
  559. "comments": ""
  560. },
  561. {
  562. "mallSubId": "2c9f6c946449ea7e01647dc1d9070036",
  563. "mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
  564. "mallSubName": "火腿",
  565. "comments": ""
  566. },
  567. {
  568. "mallSubId": "2c9f6c946449ea7e01647dc1fc3e0037",
  569. "mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
  570. "mallSubName": "速冻食品",
  571. "comments": ""
  572. }
  573. ],
  574. "comments": null,
  575. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170133_4419.png"
  576. },
  577. {
  578. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  579. "mallCategoryName": "饮料",
  580. "bxMallSubDto": [
  581. {
  582. "mallSubId": "2c9f6c946449ea7e01647d09cbf6002d",
  583. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  584. "mallSubName": "茶饮",
  585. "comments": ""
  586. },
  587. {
  588. "mallSubId": "2c9f6c946449ea7e01647d09f7e8002e",
  589. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  590. "mallSubName": "水饮",
  591. "comments": ""
  592. },
  593. {
  594. "mallSubId": "2c9f6c946449ea7e01647d0a27e1002f",
  595. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  596. "mallSubName": "功能饮料",
  597. "comments": ""
  598. },
  599. {
  600. "mallSubId": "2c9f6c946449ea7e01647d0b1d4d0030",
  601. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  602. "mallSubName": "果汁",
  603. "comments": ""
  604. },
  605. {
  606. "mallSubId": "2c9f6c946449ea7e01647d14192b0031",
  607. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  608. "mallSubName": "含乳饮料",
  609. "comments": ""
  610. },
  611. {
  612. "mallSubId": "2c9f6c946449ea7e01647d24d9600032",
  613. "mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
  614. "mallSubName": "碳酸饮料",
  615. "comments": ""
  616. }
  617. ],
  618. "comments": null,
  619. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170143_361.png"
  620. },
  621. {
  622. "mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
  623. "mallCategoryName": "乳制品",
  624. "bxMallSubDto": [
  625. {
  626. "mallSubId": "2c9f6c946449ea7e01647dd4ac8c0048",
  627. "mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
  628. "mallSubName": "常温纯奶",
  629. "comments": ""
  630. },
  631. {
  632. "mallSubId": "2c9f6c946449ea7e01647dd4f6a40049",
  633. "mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
  634. "mallSubName": "常温酸奶",
  635. "comments": ""
  636. },
  637. {
  638. "mallSubId": "2c9f6c946449ea7e01647dd51ab7004a",
  639. "mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
  640. "mallSubName": "低温奶",
  641. "comments": ""
  642. }
  643. ],
  644. "comments": null,
  645. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170151_9234.png"
  646. },
  647. {
  648. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  649. "mallCategoryName": "休闲零食",
  650. "bxMallSubDto": [
  651. {
  652. "mallSubId": "2c9f6c946449ea7e01647dc51d93003c",
  653. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  654. "mallSubName": "方便食品",
  655. "comments": ""
  656. },
  657. {
  658. "mallSubId": "2c9f6c946449ea7e01647dd204dc0040",
  659. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  660. "mallSubName": "面包糕点",
  661. "comments": ""
  662. },
  663. {
  664. "mallSubId": "2c9f6c946449ea7e01647dd22f760041",
  665. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  666. "mallSubName": "糖果巧克力",
  667. "comments": ""
  668. },
  669. {
  670. "mallSubId": "2c9f6c946449ea7e01647dd254530042",
  671. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  672. "mallSubName": "膨化食品",
  673. "comments": ""
  674. },
  675. {
  676. "mallSubId": "2c9f6c94679b4fb10167f7fa132b15e7",
  677. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  678. "mallSubName": "坚果炒货",
  679. "comments": null
  680. },
  681. {
  682. "mallSubId": "2c9f6c94679b4fb10167f7f4bfc415e2",
  683. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  684. "mallSubName": "肉干豆干",
  685. "comments": null
  686. },
  687. {
  688. "mallSubId": "2c9f6c94679b4fb10167f7f5027a15e3",
  689. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  690. "mallSubName": "饼干",
  691. "comments": null
  692. },
  693. {
  694. "mallSubId": "2c9f6c94679b4fb10167f7f530fd15e4",
  695. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  696. "mallSubName": "冲调",
  697. "comments": null
  698. },
  699. {
  700. "mallSubId": "2c9f6c94683a6b0d016846b49436003b",
  701. "mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
  702. "mallSubName": "休闲水果",
  703. "comments": null
  704. }
  705. ],
  706. "comments": null,
  707. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170200_7553.png"
  708. },
  709. {
  710. "mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
  711. "mallCategoryName": "粮油调味",
  712. "bxMallSubDto": [
  713. {
  714. "mallSubId": "2c9f6c946449ea7e01647dd2e8270043",
  715. "mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
  716. "mallSubName": "油/粮食",
  717. "comments": ""
  718. },
  719. {
  720. "mallSubId": "2c9f6c946449ea7e01647dd31bca0044",
  721. "mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
  722. "mallSubName": "调味品",
  723. "comments": ""
  724. },
  725. {
  726. "mallSubId": "2c9f6c946449ea7e01647dd35a980045",
  727. "mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
  728. "mallSubName": "酱菜罐头",
  729. "comments": ""
  730. }
  731. ],
  732. "comments": null,
  733. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20181212/20181212115842_9733.png"
  734. },
  735. {
  736. "mallCategoryId": "2c9f6c9468a85aef016925444ddb271b",
  737. "mallCategoryName": "积分商品",
  738. "bxMallSubDto": [
  739.  
  740. ],
  741. "comments": null,
  742. "image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190225/20190225232703_9950.png"
  743. }
  744. ]
  745. }

  1. class CategoryBigModel{
  2. String mallCategoryId;//类别编号
  3. String mallCategoryName;//类别名称
  4. }

comments这个字段都是null值。

所以在创建了的时候 我们直接用null来表示

我们上面只做了一个模型类:CategoryBigModel

在json里面是有多个CategoryBigModel类的。就是一个list的数据。CategoryBigListModel

使用我们定义的model,和model的list集合

我们要输出大类的名称

输出我们的类别

快速生成我们的dart类,数据模型

https://javiercbk.github.io/json_to_dart/

把所有的json复制过来,自动生成类

最终代码

category.dart

  1. class CategoryBigModel{
  2. String mallCategoryId;//类别编号
  3. String mallCategoryName;//类别名称
  4. List<dynamic> bxMallSubDto;//不知道具体模型就用dynamic类型
  5. Null comments;
  6. String image;
  7.  
  8. //构造方法
  9. CategoryBigModel({
  10. this.mallCategoryId,
  11. this.mallCategoryName,
  12. this.bxMallSubDto,
  13. this.comments,
  14. this.image
  15. });
  16. //工厂类的构造方法,就是我常用的实例化对象模式,好处是我们调用这个类的时候不用再使用new关键字了
  17. //相当于java里面的多态,用起来和我们的静态方法是一样的
  18. factory CategoryBigModel.formJson(dynamic json){
  19. return CategoryBigModel(
  20. mallCategoryId:json['mallCategoryId'],
  21. mallCategoryName:json['mallCategoryName'],
  22. bxMallSubDto:json['bxMallSubDto'],
  23. comments:json['comments'],
  24. image:json['image']
  25. );
  26. }
  27. }
  28.  
  29. //列表的model
  30. class CategoryBigListModel{
  31. List<CategoryBigModel> data;
  32. CategoryBigListModel(this.data);
  33.  
  34. factory CategoryBigListModel.fromJson(List json){
  35. return CategoryBigListModel(
  36. json.map((i)=>CategoryBigModel.formJson((i))).toList()
  37. );
  38. }
  39. }

category_page.dart

  1. import 'package:flutter/material.dart';
  2. import '../service/service_method.dart';
  3. import 'dart:convert';
  4. import '../model/category.dart';
  5.  
  6. class CategoryPage extends StatefulWidget {
  7. @override
  8. _CategoryPageState createState() => _CategoryPageState();
  9. }
  10.  
  11. class _CategoryPageState extends State<CategoryPage> {
  12. @override
  13. Widget build(BuildContext context) {
  14. _getCategory();
  15. return Container(
  16. child:Center(
  17. child: Text('分类页面'),
  18. )
  19. );
  20. }
  21.  
  22. void _getCategory() async{
  23. await request('getCategory').then((val){
  24. var data=json.decode(val.toString());
  25. //print(data);
  26. CategoryBigListModel list= CategoryBigListModel.fromJson(data['data']);
  27. list.data.forEach((item)=>print(item.mallCategoryName));
  28. });
  29. }
  30. }

//

  1. class CategoryBigModel{
  2. String mallCategoryId;//类别编号
  3. String mallCategoryName;//类别名称
  4. List<dynamic> bxMallSubDto;//不知道具体模型就用dynamic类型
  5. Null comments;
  6. String image;
  7.  
  8. //构造方法
  9. CategoryBigModel({
  10. this.mallCategoryId,
  11. this.mallCategoryName,
  12. this.bxMallSubDto,
  13. this.comments,
  14. this.image
  15. });
  16. //工厂类的构造方法,就是我常用的实例化对象模式,好处是我们调用这个类的时候不用再使用new关键字了
  17. //相当于java里面的多态,用起来和我们的静态方法是一样的
  18. factory CategoryBigModel.formJson(dynamic json){
  19. return CategoryBigModel(
  20. mallCategoryId:json['mallCategoryId'],
  21. mallCategoryName:json['mallCategoryName'],
  22. bxMallSubDto:json['bxMallSubDto'],
  23. comments:json['comments'],
  24. image:json['image']
  25. );
  26. }
  27. }
  28.  
  29. //列表的model
  30. class CategoryBigListModel{
  31. List<CategoryBigModel> data;
  32. CategoryBigListModel(this.data);
  33.  
  34. factory CategoryBigListModel.fromJson(List json){
  35. return CategoryBigListModel(
  36. json.map((i)=>CategoryBigModel.formJson((i))).toList()
  37. );
  38. }
  39. }

.

Flutter移动电商实战 --(22)JSON解析和复杂数据模型转换技巧的更多相关文章

  1. Flutter实战视频-移动电商-22.JSON解析和复杂数据模型转换技巧

    22.JSON解析和复杂数据模型转换技巧 json转Model类 创建model文件夹,在里面新建category.dart类 主要根据这个json来分析我们要做成类的样子 { ", &qu ...

  2. Flutter移动电商实战 --(52)购物车_数据模型建立和Provide修改

    根据json数据生成模型类 {"goodsId":"2171c20d77c340729d5d7ebc2039c08d","goodsName" ...

  3. Flutter移动电商实战 --(10)使用FlutterSwiper制作轮播效果

    1.引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. 好牛X得介绍,一般敢用“最”的一般都是神级大神,看到这个介绍 ...

  4. Flutter移动电商实战 --(23)分类页_左侧类别导航制作

    自动生成dart类 https://javiercbk.github.io/json_to_dart/ 生成的代码 class Autogenerated { String code; String ...

  5. Flutter移动电商实战 --(51)购物车_Provide中添加商品

    新加provide的cart.dart页面 引入三个文件.开始写provide类.provide需要用with 进行混入 从prefs里面获取到数据,判断有没有数据,如果有数据就返转正List< ...

  6. Flutter移动电商实战 --(46)详细页_自定义TabBar Widget

    主要实现详情和评论的tab provide定义变量 自己做一个tab然后用provide去控制 定义两个变量来判断是左侧选中了还是右侧选中了.并定义一个方法来接受参数,修改是左侧还是右侧选中的状态值 ...

  7. Flutter移动电商实战 --(43)详细页_补充首页跳转到详细页

    首页轮播点击到详细页 修改我们轮播这里的代码:SwiperDiy这个类这里的代码 return InkWell( onTap: (){ Application.router.navigateTo(co ...

  8. Flutter移动电商实战 --(36)FlutterToast插件使用

    https://github.com/PonnamKarthik/FlutterToast fluttertoast: ^3.0.1 category_page.dart页面添加引用 import ' ...

  9. Flutter移动电商实战 --(35)列表页_上拉加载更多制作

    右侧列表上拉加载配合类别的切换 上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1 provide内定义参数 首先我们需要定义一个page的变量 下图是我们之前在首页的时候 ...

随机推荐

  1. RAII Theory && auto_ptr

    RAII(Resource Acquisition is Initialization),也称为"资源获取即初始化",是C++语言的一种管理资源,避免泄露的惯用法. C++标准保证 ...

  2. bash shell的ANSI控制

    格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如:  echo -e "\033[41;36m something here \03 ...

  3. jquery操作select下拉框:取值,赋值,删除

    1.jQuery对select的取值 <select id="test"> <option value ="1">测试1</opt ...

  4. xshell生成公钥和私钥

    一.打开你的xshell工具,工具栏有一个工具选项,点开选择新建用户密钥生成向导(如下图所示) 二. 点开之后就会如上图所示一样,点击选择下一步,出现如下,再点击下一步 点击完下一步会出现如下图所示 ...

  5. 操作系统 (OS)

    1. 操作系统(Operation System,OS) 操作系统作为接口的示意图 没有安装操作系统的计算机,通常被称为 裸机 如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序 如果计 ...

  6. python采集websocket实时数据

    之前大部分的数据采集基本都是http的,也一直对如何采集websocket的实时数据有疑问,不知道入从哪里入手,一筹莫展,今天在知乎上看到了一篇采集websocket的文章,讲的很透彻 终于把这个疑问 ...

  7. shell code

  8. C C++输出格式 <转载>仅用于个人

    转载链接:C++ C C语言输出格式总结 1 一般格式    printf(格式控制,输出表列)    例如:printf("i=%d,ch=%c\n",i,ch);    说明: ...

  9. SQL SERVER 查询第20行到30之间的数据

    1.先查询前20行的ID,后查询除去20条记录的前10条记录 SELECT TOP * FROM tbBank WHERE BankID NOT IN(SELECT TOP BankID FROM t ...

  10. Python进阶:都说好用的 Python 命令行库click

    click 是一个以尽可能少的代码.以组合的方式创建优美的命令行程序的 Python 包.它有很高的可配置性,同时也能开箱即用. 它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的 ...