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;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/773332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS App 上架指南及关键

引言 上架App Store是将iOS应用提交申请并上线的过程&#xff0c;旨在让应用在App Store上展示&#xff0c;吸引用户并获取流量。本文将介绍iOS上架的整体流程&#xff0c;并提供一些建议和注意事项。 一、iOS上架的整体流程 1. 申请开发者账号 首先&#xff0c;需要申请苹…

网络入门基础:从零开始了解互联网世界

随着互联网技术的飞速发展&#xff0c;网络已经成为我们生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;网络都扮演着重要的角色。然而&#xff0c;对于初学者来说&#xff0c;网络世界可能显得复杂而陌生。本文旨在为大家提供一个网络入门基础的指南&#xff0…

Ubuntu安装nginx-http-flv,并获取统计信息

1、依赖安装 sudo apt-get install build-essential sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install libssl-dev sudo apt-get install zlib1g sudo apt-get install zlib1g-dev 2、源码下载 NGINX 的版本应该大于或者等于 1.2.6&#xff0c;与其他版本的…

实战LangChain(三):深化交互——利用Neo4j提升聊天机器人的对话能力

实战LangChain(三):深化交互——利用Neo4j提升聊天机器人的对话能力 实战LangChain(一):构建您的第一个聊天机器人_langchai 机器人 实战LangChain(二):探索RAG——为聊天机器人注入知识-CSDN博客 实战LangChain(三):深化交互——利用Neo4j提升聊天机器人的对话…

2024年150道高频Java面试题(三)

5. String str“i” 与 String strnew String(“i”) 一样吗&#xff1f; String str "i" 和 String str new String("i") 在Java中并不完全相同&#xff0c;尽管它们都用于创建包含单个字符 ‘i’ 的字符串对象。 首先&#xff0c;String str "…

第三十三章 配置服务器访问 - SSL TLS 参数

文章目录 第三十三章 配置服务器访问 - SSL TLS 参数SSL TLS 参数可选参数错误页面复制服务器配置禁用对已配置服务器的访问删除服务器配置 第三十三章 配置服务器访问 - SSL TLS 参数 SSL TLS 参数 以下参数仅与使用 SSL/TLS 来保护 Web Gateway 和IRIS 之间的连接的安装相关…

DevSecOps平台架构系列-亚马逊云AWS DevSecOps平台架构

目录 一、概述 二、AWS DevSecOps实施原则 2.1 尽早采用安全测试&#xff0c;加速问题反馈 2.2 优先考虑预防性安全控制 2.3 部署检测性安全控制时&#xff0c;确保有与之互补的响应性安全控制 2.4 安全自动化 2.5 总结 三、AWS DevSecOps关键组件 3.1 关键组件 3.2 关…

新能源汽车充电桩主板各模块成本占比解析

汽车充电桩主板是汽车充电桩的重要组件&#xff0c;主要由微处理器模块、通信模块、控制模块、安全保护模块、传感器模块等多个模块构成。深入探究各模块在总成本中的比重&#xff0c;我们可以更好地优化成本结构、提高生产效率&#xff0c;并为未来的技术创新和市场需求变化做…

TypeScript【入门】

TypeSript ts是js的一个超集&#xff0c;解决js类型支持 js: 动态类型 ts:静态类型 代码执行的顺序是先编译在执行 发现错误更早 为什么要添加类型支持&#xff1f; 优势有什么&#xff1f; 全局安装 npm i -g typescript tsc -v 简化运行ts的步骤 typescript常用类型 类型…

音频干扰检测(频域方法)

测试音响系统的通路上是否有外部干扰时&#xff0c;可以通过播放1000赫兹的正弦波信号&#xff0c;在输出端采集数字信号&#xff08;I2S&#xff0c;TDD&#xff0c;A2B&#xff09;并保存为.wav文件。 然后通过以下Python代码检测。 import numpy as np import librosa im…

C++类和对象、面向对象编程 (OOP)

文章目录 一、封装1.抽象、封装2.类和对象(0)学习视频(1)类的构成(2)三种访问权限(3)struct和class的区别(4)私有的成员变量、共有的成员函数(5)类内可以直接访问私有成员&#xff0c;不需要经过对象 二、继承三、多态1.概念2.多态的满足条件3.多态的使用条件4.多态原理剖析5.纯…

MySQL详细教程

文章目录 前言一、数据库管理1.查看已有的数据库2.创建数据库3.删除数据库4.进入数据库 二、 数据表管理1.查看当前数据库下的所有数据表2.创建数据表3.删除表4.查看表结构 三、常用数据类型1.整型tinyintintbigint 2.浮点型floatdoubledecimal 3.字符型char(m)varchar(m)textm…

MacBook终端安装brew命令

关于MacBook终端安装brew命令&#xff0c;官方的操作流程会报错 Failed during: /usr/bin/git fetch --force origin 有没有跟我一样的小伙伴遇到了一样的难题 终于 经过我来回来去的搜索找到了可以利用国内镜像源进行安装brew 简直非常Nice&#xff01;&#xff01;&#x…

linux在使用重定向写入文件时(使用标准C库函数时)使处理信号异常(延时)--问题分析

linux在使用重定向写入文件时(使用标准C库函数时)使处理信号异常(延时)–问题分析 在使用alarm函数进行序号处理测试的时候发现如果把输出重定向到文件里面会导致信号的处理出现严重的延迟(ubuntu18) #include <stdio.h> #include <stdlib.h> #include <unist…

7.3*3卷积核生成

1.卷积核 在数字图像处理中的各种边沿检测、滤波、腐蚀膨胀等操作都离不开卷积核的生成。下面介绍如何生成各种3X3的卷积核。为后面的数字图像操作打下基础。   由于图像经过卷积操作后会减少两行两列&#xff0c;因此在生成卷积核的时候一般会对图像进行填充&#xff0c;填充…

javax mail邮件发送(sockts代理)

1.pom引入 <!--hutool工具类--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.21</version></dependency> <!-- 邮件--><dependency><groupId>javax.m…

【CXL协议-ARB/MUX层(5)】

5.0 Compute Express Link ARB/MUX 前言&#xff1a; 在CXL协议中&#xff0c;ARB/MUX层&#xff08;Arbitration/Multiplexer layer&#xff09;是负责管理资源共享和数据通路选择的一层。CXL协议包含了几个子协议&#xff0c;主要有CXL.io、CXL.cache 和 CXL.memory。ARB/MU…

LeetCode 面试经典150题 383.赎金信

题目&#xff1a; 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 思路&#x…

生态修复相关的书籍推荐

近期&#xff0c;为了解生态修复找了很多的书籍阅读&#xff0c;其中有基本书都下来感觉还不错。以此&#xff0c;做个记录。 《生态修复理论与实践》 李锋 这本书写得有点空&#xff0c;更多的是从规划的视角来写。因而&#xff0c;这本书看起来就像是看规划的文本一样。因而…

计算机网络——网络基础1

网络基础一 1.初识网络 ​ 网卡也是一种文件&#xff0c;所以对于网络的编程也是一种文件操作&#xff1b; ​ 早期由于不同的计算机之间要根据数据进行协作&#xff0c;但是计算机之间是独立的&#xff0c;所以使用了光驱或者软盘之类的进行协作&#xff1b;对于将计算机连…