当前位置: 首页 > news >正文

第二百四十三回 再分享一个Json工具

文章目录

  • 1. 概念介绍
  • 2. 分析与比较
    • 2.1 分析问题
    • 2.2 比较差异
  • 3. 使用方法
  • 4. 内容总结

我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容,本章回中将再 分享一个Json插件.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在GunTools专栏中分享过一个Json插件:FlutterJsonBeanFactory,该插件可以自动把JSON字符串转换成dart语言编写的数据模型类。本章回中将再分享一个Json插件:JsonToDart,它也可以自动把JSON字符串转换成dart语言编写的数据模型类,不过功能上有一些差异,本章回中将详细介绍该插件的用法。

2. 分析与比较

2.1 分析问题

我们在之前的博客中分享的插件FlutterJsonBeanFactory.这个插件使用很方便,不过我最近在使用过程上发现了错误。我们先来看一下问题:

正常情况下该插件会在lib/generated/目录下生成json/base/xxx.dart文件,详细如下图所示:

在这里插入图片描述

发生错误时不能自动生成这些文件,而且IDE会提示错误。

在这里插入图片描述

我开始以为是偶然性的错误,重新启动IDE后也不能解决,后来更新了插件,仍然不能解决此问题。后来到官方网站查看后发现这是已知的问题,通过清除IDE的缓冲可以解决此问题。详细如下图所示:

If "No classes that inherit JsonConvert were found" is displayed, delete the ". Idea "directory under the project and click" invalidate Caches"in your (Andorid Studio or IDEA) button to restart the IDE

在这里插入图片描述

我没有清除缓冲,因为缓冲在很多的设置,所以重新找了一个JSON插件。

2.2 比较差异

我新找的JSON插件叫JsonToDart,在IDE中安装后重启IDE就可以使用。该插件可以完全取代FlutterJsonBeanFactory,而且它不会在lib/generated目录下生成其它的文件,我们将在后面的小节中介绍该插件的使用方法。

3. 使用方法

  • 点击项目中某个目录名称然后按下快捷键:option(alt)+shift+d;
  • 此时会弹出窗口,在窗口中输入文件名称和JSON字符串,点击确认按钮就可以了;

它会在点击的目录下创建dart文件,文件名和类名相同。当然了,如果不选择目录的话,默认会在lib目录下创建文件。该插件创建的类名就是自己输入的名称,不会自动在类名中添加前缀或者后续。该插件还有设置功能,可以选择是否支持空安全。

4. 内容总结

在实际项目中进行网络请求时JSON是必不可少的知识,因此这个插件也是经常使用的插件。最后,我们对本章回的内容做一个全面的总结:

  • 在项目中把JSON字符串转换成可以使用IDE中的插件进行自动转换;
  • 常用的插件有两个:FlutterJsonBeanFactory和JsonToDart;
  • 我推荐使用JsonToDart插件,它不会生成其它辅助文件而且功能比较多;

看官们,与"再分享一个Json工具"相关的内容就介绍到这里,大家有没有什么好用的Json插件呢?欢迎大家在评论区交流与讨论!

相关文章:

第二百四十三回 再分享一个Json工具

文章目录 1. 概念介绍2. 分析与比较2.1 分析问题2.2 比较差异 3. 使用方法4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容,本章回中将再 分享一个Json插件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我…...

electron自定义菜单

创建menu.js const { app, Menu } require("electron"); const createMenu () > {const menu [{label: "菜单",submenu: [{label: "新增",click: () > {},}, ],},{label: "关于",submenu: [{label: "新增",click:…...

变量和函数提升(js的问题)

• js解释执行 • 变量和函数提升 变量声明提前,函数声明提前 • 变量声明提前:值停留在本地 • 函数声明提前:整个函数体提前 如果是var赋值声明的函数,变量提前,函数体停留在本地 1、变量提…...

Excel 插件:ASAP Utilities Crack

ASAP Utilities是一款功能强大的 Excel 插件,填补了 Excel 的空白。在过去的 20 年里,我们的加载项已经发展成为世界上最受欢迎的 Microsoft Excel 加载项之一。 ASAP Utilities 中的功能数量(300 多个)可能看起来有点令人眼花缭乱…...

hyperf 十九 数据库 二 模型

教程:Hyperf 一、命令行 symfony/console-CSDN博客 hypery 十一、命令行-CSDN博客 hyperf console 执行-CSDN博客 根据之前应该能了解到命令行的基本实现,和hyperf中命令行的定义。 1.1 命令初始化 hyperf.php中系统初始化中通过ApplicationFacto…...

使用python快速开发与PDF文档对话的Gemini聊天机器人

检索增强生成(Retrieval-augmented generation,RAG)使得我们可以让大型语言模型(LLMs)访问外部知识库数据(如pdf,word、text等),从而让人们可以更加方便的通过LLM来学习外部数据的知识。今天我们将利用之前学习到的RAG方法,谷歌Gemini模型和l…...

Spring Cloud Gateway集成Knife4j

1、前提 网关路由能够正常工作。 案例 基于 Spring Cloud Gateway Nacos 实现动态路由拓展的参考地址:Spring Cloud Gateway Nacos 实现动态路由 详细官网案例:https://doc.xiaominfo.com/docs/middleware-sources/spring-cloud-gateway/spring-gatewa…...

Hive10_窗口函数

窗口函数(开窗函数) 1 相关函数说明 普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列…...

ipvsadm命令详解

ipvsadm命令详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨一个在Linux系统网络管理中极具威力的命令——ipvsadm,通过详细解析…...

zabbix通过自动发现-配置监控项、触发器(小白教程)

自动发现配置参考链接(不小白,不友好) zabbix-get介绍 1配置 zabbix server:版本7(不影响),IP地址:192.168.0.60zabbix agent:版本agent1(不影响)&#xff…...

Dockerfile文件介绍

0 Preface/Foreword 0.1 Docker docker用来自制镜像。 1 Introduction 1.1 Dockerfile Dockerfile是用于定义Docker镜像的构建过程,它包含一系列的指令用于安装 软件包、配置环境等操作。 Dockerfile文件的格式如下: FROM base_image RUN apt-get up…...

【PHP】函数array_reduce()使用场景

目录 1.计算数组中所有元素的和 2.计算数组中所有元素的乘积 3.将多个字符串连接在一起 4.对数组中的元素进行逻辑计算 5.取出第一个满足条件的数组,筛选有用数组 6.array_reduce()函数的基本语法: array_reduce 函数通常用于对数组中的元素进行累…...

软件测试基础理论学习-软件测试方法论

软件测试方法论 软件测试的方法应该建立在不同的软件测试类型上,不同的测试类型会存在不同的方法。本文以软件测试中常见的黑盒测试为例,简述常见软件测试方法。 黑盒测试用例设计方法包括等价类划分法、边界值分析法、因果图法、判定表驱动法、正交试…...

Unity 关于点击不同物品移动并触发不同事件

关于点击不同物品触发不同事件 可以实现在界面中点击不同的物体,移动到物品附近位置,然后触发对应的事件。 首先建立一个公共管理的类: public class InteractionObject : MonoBehaviour {private NavMeshAgent PlayerAgent;private bool …...

c++IO库详细介绍

文章目录 前言c IO 类简介1. iostream库iostream 类标准IO对象 2. fstream库fstream 类 3. stringstream库stringstream 类 格式化和控制错误处理 IO对象无拷贝或赋值IO条件状态主要的状态标志检查流状态控制流状态示例 管理输出缓冲主要操作示例 文件输入输出使用文件流对象示…...

海外静态IP和动态IP有什么区别?推荐哪种?

什么是静态ip、动态ip,二者有什么区别?哪种好?关于这个问题,不难发现,在知道、知乎上面的解释有很多,但据小编的发现,这些回答都是关于静态ip和动态ip的专业术语解释,普通非专业人事…...

OpenHarmony从入门到放弃(一)

OpenHarmony从入门到放弃(二) 一、OpenHarmony的基本概念和特性 OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,其目标是构建一个面向全场景、全连接、全智能的时代的智能终端设备操作系统。 分布式架构 OpenHarmony采用分布式…...

Unity3D UGUI图集打包与动态使用(TexturePacker)

制作图集的好处: 众所周知CPU是用来处理游戏的逻辑运算的,而GPU是用来处理游戏中图像的。在GPU中,我们要绘制一个图像需要提交图片(纹理)到显存,然后再进行绘制(在这个过程中会产生一次DrawCall…...

java maven项目添加oracle jdbc的依赖

一般添加依赖是直接在pom.xml中添加配置即可,Maven会自动获取对应的jar包,但是oracle驱动依赖添加后会显示红色,代表找不到依赖项,是因为Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中…...

【UEFI基础】EDK网络框架(环境配置)

环境配置 为了能够让使用测试BIOS的QEMU与主机(就是指普通的Windows系统,我们使用它来编译BIOS和启动QEMU虚拟机)通过网络连接,需要额外的配置。 首先是下载和安装OpenVPN(这里安装的是OpenVPN-2.5.5-I601-amd64.msi…...

MMC柔性直流输电稳定性与参数控制【附代码】

✨ 长期致力于模块化多电平换流器、弱交流电网、小信号模型、控制器参数优化、粒子群算法、模糊控制研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)弱…...

盖革计数器DIY套件故障排查与修复:从高压虚焊到辐射测试实践

1. 项目概述:从“不响”到“欢唱”的盖革计数器修复之旅作为一名在电子设计领域摸爬滚打了十几年的工程师,我桌上最让我安心的“白噪音”来源,不是风扇,也不是雨声模拟器,而是一台正在“咔哒咔哒”规律作响的盖革计数器…...

图解UART串口通信:从电平标准到数据帧的完整解析

1. UART串口通信基础:从物理层到协议层 第一次接触嵌入式开发时,我被UART这个名字唬住了——Universal Asynchronous Receiver/Transmitter(通用异步收发器),听起来像是某种高端设备。直到用USB转TTL模块点亮了第一个L…...

Intel Quark SoC X1000:物联网边缘计算的核心技术解析

1. Intel Quark SoC X1000:物联网边缘计算的小型化革命在工业自动化现场,一台装备了温度传感器的风机正在持续监测轴承状态。传统方案需要将每秒数百个采样点全部上传云端,不仅占用带宽,延迟更是达到秒级。而采用Intel Quark SoC …...

2026 年 TanStack npm 供应链遭入侵:42 个包 84 版本受影响,多方面待解决问题待明确

总结2026 年 5 月 11 日 19:20 至 19:26 UTC 期间,攻击者通过结合“Pwn Request”模式的 pull_request_target、跨越分叉↔主库信任边界的 GitHub Actions 缓存投毒,以及从 GitHub Actions 运行器进程中提取 OIDC 令牌,在 42 个 tanstack/* n…...

工业缺陷检测实战:用‘非均衡’数据增强搞定样本不足与类别不平衡难题

工业缺陷检测实战:破解样本不足与类别失衡的数据增强策略 在半导体、汽车零部件等精密制造领域,一个肉眼难辨的微小缺陷可能导致整批产品报废。传统人工质检不仅效率低下,且漏检率常高达15%-30%。当我们尝试用深度学习构建缺陷检测系统时&…...

3PEAK思瑞浦 TPA3532-VS1R MSOP8 运算放大器

特性 超低输入偏置电流: -在TA25C时最大士1pA(实验室测试限值) 安 -在-40C至125C(实验室测试限值)下,最大30皮 低输入失调电压:250V(最大值) 集成保护缓冲器,最大偏移电压为200V 低电压噪声密度:18nV/vHz(在1kHz时) 宽带宽:2.1MHz 供电电压:4.5V至16V(2.…...

如何将Claude Code的配置无缝迁移至Taotoken平台以解决封号困扰

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 如何将Claude Code的配置无缝迁移至Taotoken平台以解决封号困扰 Claude Code 作为一款高效的编程助手,其核心能力依赖于…...

Sora 2正式版突然开放API灰度权限?我们逆向解析了127行响应头与rate limit策略,发现3个隐藏调用阈值

更多请点击: https://intelliparadigm.com 第一章:Sora 2正式版核心能力与架构演进 Sora 2正式版标志着视频生成大模型从研究原型迈向工业级部署的关键跃迁。其底层架构采用分层时空联合建模(Hierarchical Spatio-Temporal Transformer&…...

ESP32音频播放终极指南:从SD卡播放MP3到网络流媒体的完整解决方案

ESP32音频播放终极指南:从SD卡播放MP3到网络流媒体的完整解决方案 【免费下载链接】ESP32-audioI2S Play mp3 files from SD via I2S 项目地址: https://gitcode.com/gh_mirrors/es/ESP32-audioI2S 想要在ESP32上构建专业的音频播放系统吗?ESP32-…...