flutter 保存一堆多语言翻译词条,由key和value组成
原理:
1.从String列表里面获取某个value:
List<String> jsonStrings = ['{"name": "John", "age": 30}','{"name": "Jane", "age": 25}','{"name": "Bob", "age": 35}',];String key = 'age'; // 假设我们想获取 'age' 对应的值for (String jsonString in jsonStrings) {Map<String, dynamic> jsonObject = json.decode(jsonString);if (jsonObject.containsKey(key)) {print('Value for key "$key": ${jsonObject[key]}');}}
2.flutter List jsonStrings = [
‘{“name”: “John”}’,
‘{“age”: 25}’,
];
如何写一个方法,往列表添加一个’{“class”: 1}’
void addJsonString(List<String> jsonStrings, String newJsonString) {jsonStrings.add(newJsonString);
}void main() {List<String> jsonStrings = ['{"name": "John"}','{"age": 25}',];String newJsonString = '{"class": 1}';addJsonString(jsonStrings, newJsonString);print(jsonStrings); // 输出: [{"name": "John"}, {"age": 25}, {"class": 1}]
}
用sharePreference实现:
//保存翻译词条saveTranslate({required String originalText,required String code,required String translateText}) {List<String> saveTranslateList = [];//获取已经存好的数据if (SPHelper.getTranslateList == null) {SPHelper.setTranslateList([]);}if (SPHelper.getTranslateList != null) {saveTranslateList = SPHelper.getTranslateList;//添加翻译数据saveTranslateList.add('{"${originalText + code}":"$translateText"}');SPHelper.setTranslateList(saveTranslateList);PrintUtil.prints('翻译词条列表-保存-${json.encode(SPHelper.getTranslateList)}');}}//获取翻译词条getTranslateByCode({required String originalText, required String code}) {if (originalText == '') {return '';}//翻译的keyString translateKey = originalText + code;//返回的翻译词条String translatedText = '';List<String> translateList = [];if (SPHelper.getTranslateList == null) {SPHelper.setTranslateList([]);}if (SPHelper.getTranslateList != null) {translateList = SPHelper.getTranslateList;PrintUtil.prints('翻译词条列表-获取保存的数据-${json.encode(translateList)}');for (String jsonString in translateList) {try {Map<String, dynamic> jsonObject = json.decode(jsonString);if (jsonObject.containsKey(translateKey)) {PrintUtil.prints('Value for key "$translateKey": ${jsonObject[translateKey]}');translatedText = jsonObject[translateKey];PrintUtil.prints('翻译词条列表-JSON string: $jsonString');}} catch (e) {PrintUtil.prints('翻译词条列表-Invalid JSON string: $jsonString 错误:$e');}}}return translatedText;}
相关文章:
flutter 保存一堆多语言翻译词条,由key和value组成
原理: 1.从String列表里面获取某个value: List<String> jsonStrings [{"name": "John", "age": 30},{"name": "Jane", "age": 25},{"name": "Bob", "age…...
3月25日,每日信息差
🎖 素材来源官方媒体/网络新闻 🎄 京东汽车将和小米汽车进行深度合作 🌍 百度将为苹果国行iPhone16提供AI功能?百度方面称暂无回应 🌋 国产结核病新型mRNA疫苗即将问世 🎁 美国发布严重地磁暴预警ÿ…...
Git常用指令使用
摘要:之前代码管理都是借助于fork、sourceTree等图形工具,最近发现直接用命令也好用,就总结Git常用的指令 1、Git的介绍 1.1 git官网 安装: Git - Downloading Packagehttps://git-scm.com/download/mac Mac上安装,直接使…...
数据结构与算法 顺序表的基本运算
一、实验内容 编写一个程序实现,实现顺序表的各种基本运算(假设顺序表的元素类型为char),并以此为基础设计一个程序完成下列功能: (1)初始化顺序表; (2)采…...
docker部署nacos(单机与集群)
拉去nacos镜像 [rootlocalhost keepalived]# docker search nacos NAME DESCRIPTION STARS OFFICIAL nacos/nacos-server This project contains a Docker image meant t… 464 …...
开启Safari手势支持
在使用Safari 的时候,大家有没有觉得不支持手势使用起来不是很方便, 触摸板只支持少量简单的手势,如缩放,滚动等。如果使用鼠标的用户,则完全无法使用手势。经过折腾研究,使用CirMenu应用可以完美解决这个要…...
Amuse:.NET application for stable diffusion
目录 Welcome to Amuse! Features Why Choose Amuse? Key Highlights Paint To Image Text To Image Image To Image Image Inpaint Model Manager Hardware Requirements Compute Requirements Memory Requirements System Requirements Realtime Requirements…...
Java冒泡排序详细讲解
冒泡排序是一种简单但效率较低的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。具体实现如下: 算法步骤: 比较相邻的元素:从第一个元素开始,依次…...
python数据解析xpath
前言一、安装?二、使用步骤1.基本使用**【2】谓语(Predicates)**案例 前言 xpath在Python的爬虫学习中,起着举足轻重的地位,对比正则表达式 re两者可以完成同样的工作,实现的功能也差不多,但xp…...
工业镜头常用参数之实效F(Fno.)和像圈
Fno. 工业镜头中常用到的参数F,有时候用F/#,Fno.来表示,指的是镜头通光能力的参数。它可用镜头焦距及入瞳直径来表示,也可通过镜头数值孔径(NA)和光学放大倍率(β)来计算。有效Fno.…...
what is apache?
Apache 通常指 Apache Software Foundation (ASF) 或 Apache HTTP Server,两者都是计算机软件领域的重要实体。 Apache 软件基金会 (ASF):Apache 软件基金会是一个开发开源软件项目的非营利组织。它为涵盖软件开发各个方面的广泛项目提供支持,…...
【二叉树】Leetcode 94. 二叉树的中序遍历【简单】
二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2] 解题思路 中序遍历是一种二叉树遍历方式,按照“左根右”的顺序遍历二叉树节点。 1、递归…...
Linux进程控制(等待)
进程等待 为什么要进行进程等待 进程等待是什么? 怎么进行进程等待? 回到我们之前进程状态的代码, 我们知道, 在这段代码中,父进程对子进程没有做任何的操作, 所以当子进程在退出后, 会一直处于…...
结构体-C语言
目录 前言 一、定义结构 结构体变量的创建和初始化 二、结构的特殊声明 特别注意: 结构的⾃引⽤ 三、结构体内存对⻬ 对⻬规则 优化结构体 #pragma 结构体传参 四、结构体实现位段 位段的内存分配 位段的跨平台问题 前言 C 数组允许定义可存储相同类…...
Unity DOTS中的baking(四)blob assets
Unity DOTS中的baking(四)blob assets blob assets表示不可变的二进制数据,在运行时也不会发生更改。由于blob assets是只读的,这意味着可以安全地并行访问它们。此外,blob assets仅限于使用非托管类型,这意…...
第三十天-Flask模板 Jinja2
目录 1.什么是模板 2.模板引擎Jinja2 默认配置 全局对象 全局函数 上下文处理器 3.模板中变量的使用 4.模板标签 条件判断if else for循环 添加注释 设置变量 转义显示 5.过滤器 过滤器使用 自定义过滤器 6.全局函数 7.模板中的宏 模板的基础 包含语法 8.…...
在项目中数据库如何优化?【MySQL主从复制(创建一个从节点复制备份数据)】【数据库读写分离ShardingJDBC(主库写,从库读)】
MySQL主从复制 MySQL主从复制介绍MySQL复制过程分成三步:1). MySQL master 将数据变更写入二进制日志( binary log)2). slave将master的binary log拷贝到它的中继日志(relay log)3). slave重做中继日志中的事件,将数据变更反映它自…...
Fragment 与 ViewPager的联合应用(2)
5.创建底部布局bottom_layout <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:orientation"horizontal"android:layout_width"match_parent"android:layout_height"55dp"android:background&qu…...
OriginBot智能机器人开源套件
详情可参见:OriginBot智能机器人开源套件——支持ROS2/TogetherROS,算力强劲,配套古月居定制课程 (guyuehome.com) OriginBot智能机器人开源套件 最新消息:OriginBot V2.1.0版本正式发布,新增车牌识别,点击…...
Java Web-Maven
Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具 Maven的作用 1.依赖管理:方便快捷的管理项目依赖资源(jar包),避免版本冲突问题 我们有的项目需要大量的jar包,采用手动导包的方式非常繁琐,并且版本升级也…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...
