android 生成json 文件
在做网络请求的时候需要生成一个如下的json文件:
{"messages": [{"role": "user","content": [{"type": "image_base64","image_base64": "pp"},{"type": "text","text": "msg"}]}],"model": "5-Vision","temperature": 0.8,"max_new_tokens": 512,"top_p": 0.35,"repetition_penalty": 1.25,"stream": true,"user": "test"
}
1. org.json 生成
以下是使用org.json
库来手动构建这个JSON对象的示例代码:
import org.json.JSONArray;
import org.json.JSONObject;public class JsonExample {public static void main(String[] args) {try {// 创建最外层的JSONObjectJSONObject rootObject = new JSONObject();// 创建messages数组JSONArray messagesArray = new JSONArray();// 创建第一个message对象JSONObject messageObject = new JSONObject();messageObject.put("role", "user");// 创建content数组JSONArray contentArray = new JSONArray();// 创建image_base64对象JSONObject imageBaseObject = new JSONObject();imageBaseObject.put("type", "image_base64");imageBaseObject.put("image_base64", "pp");contentArray.put(imageBaseObject);// 创建text对象JSONObject textObject = new JSONObject();textObject.put("type", "text");textObject.put("text", "msg");contentArray.put(textObject);// 将content数组添加到message对象messageObject.put("content", contentArray);// 将message对象添加到messages数组messagesArray.put(messageObject);// 将messages数组添加到最外层的JSONObjectrootObject.put("messages", messagesArray);// 添加其他字段rootObject.put("model", "5-Vision");rootObject.put("temperature", 0.5);rootObject.put("max_new_tokens", 512);rootObject.put("top_p", 0.35); // 这里去掉了空格rootObject.put("repetition_penalty", 1.25);rootObject.put("stream", true);rootObject.put("user", "test");// 打印JSON字符串String jsonString = rootObject.toString(4); // 4是缩进空格数System.out.println(jsonString);} catch (Exception e) {e.printStackTrace();}}
}
2. Gson生成
Gson在Android中生成你提供的JSON结构,你首先需要定义一些Java类来表示JSON中的对象。然后,你可以使用Gson将这些对象序列化为JSON字符串。在Java类中可以使用@SerializedName
注解别名。另外还需要在gradle中引入Gson库;
build.gradle中添加Gson
implementation 'com.google.code.gson:gson:2.10.1'
Java 代码如下:
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;import java.util.ArrayList;
import java.util.List;// 定义Content类
class Content {String type;String image_base64;String text;Content(String type, String image_base64, String text) {this.type = type;this.image_base64 = image_base64;this.text = text;}
}// 定义Message类
class Message {String role;List<Content> content;Message(String role, List<Content> content) {this.role = role;this.content = content;}
}class RequestBody {List<Message> messages;String model;double temperature;int max_new_tokens;@SerializedName("top_p")double top_p;double repetition_penalty;boolean stream;String user;RequestBody(List<Message> messages, String model, double temperature, int max_new_tokens, double top_p, double repetition_penalty, boolean stream, String user) {this.messages = messages;this.model = model;this.temperature = temperature;this.max_new_tokens = max_new_tokens;this.top_p = top_p;this.repetition_penalty = repetition_penalty;this.stream = stream;this.user = user;}
}public class JsonExample {public static void main(String[] args) {// 创建Content对象列表List<Content> contents = new ArrayList<>();contents.add(new Content("image_base64", "pp", null));contents.add(new Content("text", null, "msg"));// 创建Message对象Message message = new Message("user", contents);// 创建RequestBody对象RequestBody requestBody = new RequestBody(new ArrayList<Message>() {{ add(message); }},"5-Vision",0.5,1024,0.35,1.25,true,"test");// 使用Gson序列化RequestBody对象为JSON字符串Gson gson = new Gson();String json = gson.toJson(requestBody);// 打印JSON字符串System.out.println(json);}
}
相关文章:
android 生成json 文件
在做网络请求的时候需要生成一个如下的json文件: {"messages": [{"role": "user","content": [{"type": "image_base64","image_base64": "pp"},{"type": "text&…...
C++新增的类功能和可变参数模板
C新增的类功能和可变参数模板 新的类功能默认成员函数 可变参数模板模拟实现emplace_back 🌏个人博客主页: 个人主页 新的类功能 默认成员函数 原来C类中,有6个默认成员函数: 构造函数析构函数拷贝构造函数拷贝赋值重载取地址…...
redo log 日志 与 undo log 日志工作原理
目录标题 1. redo log 日志2. undo log 日志3.总结 1. redo log 日志 redo log日志是 MySQL 数据中的重要日志之一,其本质是物理日志,存放于 数据库的数据目录中 ,名称为: ib_logfile 。它的功能主要是用于存放脏数据的日志&…...
go语言结构体与json数据相互转换
本博文简要介绍go语言结构体如何与json格式化字符串相互转换。 文章目录 go语言结构体转换为json数据json数据转换为go结构体 go语言结构体转换为json数据 type Person struct {Name string json:"name"Age int json:"age"Hobbies []strin…...
jenkins 自动化部署Springboot 项目
一、安装docker 1.更新yum命令 yum -y update2.查看机器有残留的docker服务,有就卸载干净 查看docker 服务 rpm -qa |grep docker卸载docker sudo yum remove docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/contai…...
使用xml发送国际短信(smspro)【吉尔吉斯斯坦】
//使用xml格式发送国外短信验证码【吉尔吉斯斯坦】官网:https://smspro.nikita.kg/ public function api_test($data,$user){$url "http://smspro.nikita.kg/api/message";$code 123456 ;$content Your verification code 123456, this verification …...
springmvc-springsecurity-redhat keycloak SAML2 xml实现
环境准备: jdk17 redhat keycloak 24 spring security 6 参照文档: 红帽KeyCloak:Red Hat build of Keycloak | Red Hat Product Documentation 入门指南:入门指南 | Red Hat Product Documentation 服务器管理指南&#x…...
【K8S系列】Kubernetes Pod节点CrashLoopBackOff 状态及解决方案详解【已解决】
在 Kubernetes 中,Pod 的状态为 CrashLoopBackOff 表示某个容器在启动后崩溃,Kubernetes 尝试重启该容器,但由于持续崩溃,重启的间隔时间逐渐增加。下面将详细介绍 CrashLoopBackOff 状态的原因、解决方案及相关命令的输出解释。 …...
Linux: Shell编程入门
Shell 编程入门 1 ) Shell 概念 shell 是 在英语中 壳, 外壳的意思可以把它想象成嵌入在linux这样的操作系统里面的一个微型的编程语言不像C语言, C 或 Java 等编程语言那么完整,它可以帮我们完成很多自动化任务例如保存数据监测系统的负载等等,我们同样…...
python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)
文章目录 1、任务目标2、网页分析3、代码编写 1、任务目标 目标网站:B站视频(https://www.bilibili.com/video/BV1se41117WP/?vd_sourcee8e376ccbc5aa4cfd88e6a7917adfd1a),用于本文测验 要求:抓取该网址下的视频&…...
容灾与云计算概念
基础知识容灾备份——备份技术系统架构与备份网络方案-CSDN博客 SAN,是storage area network的简称,翻译过来就是存储区域网络。 顾名思义,SAN首先是一个网络,其次它是关于存储的,区域则是指服务器和存储资…...
基于 Python 的自然语言处理系列(44):Summarization(文本摘要)
在这一部分中,我们将探讨如何使用 Transformer 模型将长文档压缩为摘要,这个任务被称为文本摘要。文本摘要是 NLP 领域中最具挑战性的任务之一,因为它需要理解长篇文本并生成连贯的总结,捕捉文档中的核心主题。然而,当…...
RabbitMQ安装部署
安装Erlang 由于RabbitMQ是用Erlang语言编写的,所以在安装RabbitMQ之前需要安装Erlang 安装依赖 [rootpro-ex ~]yum install make gcc gcc-c build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel设置Eralng的存储库 […...
智联招聘×Milvus:向量召回技术提升招聘匹配效率
01. 业务背景 在智联招聘平台,求职者和招聘者之间的高效匹配至关重要。招聘者可以发布职位寻找合适的人才,求职者则通过上传简历寻找合适的工作。在这种复杂的场景中,我们的核心目标是为双方提供精准的匹配结果。在搜索推荐场景下,…...
unplugin-auto-import 库作用
unplugin-auto-import是一个 Vite、Webpack 和 Rollup 的插件。 一、自动导入模块 1. 减少手动导入 在 JavaScript 和 TypeScript 项目中,它可以自动检测并导入常用的模块和函数,无需手动在每个文件中进行导入操作。这大大减少了代码中的重复性导入语…...
【Multisim14.0正弦波>方波>三角波】2022-6-8
缘由有没有人会做啊Multisim14.0-其他-CSDN问答参考方波、三角波、正弦波信号产生 - 豆丁网...
vue3纯前端验证码示例
前言 验证码的用途:通过要求用户输入一串难以被机器自动识别的字符或图像,有效阻止恶意用户或脚本通过暴力破解方式尝试登录账户。验证码的分类:常见的验证码有短信、文本、图形等,安全度越高,依赖的插件或服务也越多…...
招聘程序员
全栈总监❤️golang❤️UI设计师 ☀️前端☀️Nodejs工☀️平面设计☀️PHP工 ☀️安卓❤️Flutter❤️运维☀️爬虫 公司福利: ☃️ 带薪年假、年终奖、13k-18k薪 🏩 内宿 2人/间或外宿可补助 💵 转正绩效 ✨节日礼金:生日礼金…...
Android 判断手机放置的方向
#1024程序员节|征文# 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 需求 老板:我有个手持终端,不能让他倒了,当他倒或者倾斜的时候要发出报警; 程序猿:我这..... 老板…...
Telegram机器人的手机部署
目的 一直有读 epub 电子书的习惯,摘录段落复制下来段落很难看,把自己写的排版器的逻辑复制下来,写成了一个排版机器人所有发给机器人的文字,都会经过排版,后转发到读书频道 前提 本来最好方法是直接把机器人架在服…...
ffmpeg视频滤镜: 色温- colortemperature
滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温,色温值越大显得越冷,可以参考一下下图: 咱们装修的时候可能会用到,比如选择灯还有地板的颜色的时候,选暖色调还是…...
Django+Vue全栈开发项目入门(二)
Vue是一款用于构建用户界面的JavaScript渐进式框架,它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、响应式的、组件化的编程模型,有助于高效地开发用户界面。 环境准备 安装Node.js:Vue项目的构建和运行依赖于Node…...
【ubuntu改源】
ubuntu改源 备份原始源查看ubuntu发行版本arm64 noble版本的源vim修改源更新系统软件源 备份原始源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.disabled查看ubuntu发行版本 lsb_release -aarm64 noble版本的源 清华源 vim修改源 esc :1,$d # 删除所有# 默认注…...
SQLI LABS | Less-9 GET-Blind-Time based-Single Quotes
关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客 0x01:过关流程 输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来): http://localhost/sqli-labs/Less-9/ 靶场提示 …...
【小白学机器学习24】 用例子来比较:无偏估计和有偏估计
目录 1 关于无偏估计 1.1 无偏估计的定义 2 原始数据 2.1 假设我们是上帝,我们能创造一个总体/母体 population 2.2 按尽量随机取样的原则去取1个随机样本 sample1 3 一个关于无偏估计的理解 3.1 接着上面的总体和样本 sample1 3.2 左边的计算,期…...
C++在实际项目中的应用第二节:C++与网络编程
第五章:C在实际项目中的应用 第二节:C与网络编程 1. TCP/IP协议详解与C实现 TCP/IP(传输控制协议/互联网协议)是现代互联网通信的基础协议。理解 TCP/IP 协议对于开发网络应用至关重要。本节将详细介绍 TCP/IP 协议的工作原理以…...
依赖关系是危险的
依赖, 我们需要它们,但如何有效安全地使用它们?在本周的节目中,Kris 与 Ian 和 Johnny 一起讨论了 polyfill.io 供应链攻击、Go 中依赖管理和使用的历史,以及 Go 谚语“一点复制胜过一点依赖”。当然,我们用一些不受欢…...
ipguard与Ping32如何加密数据防止泄露?让企业信息更安全
在信息化时代,数据安全已成为企业运营的重中之重。数据泄露不仅会导致经济损失,还可能损害企业声誉。因此,选择合适的数据加密工具是保护企业敏感信息的关键。本文将对IPGuard与Ping32这两款加密软件进行探讨,了解它们如何有效加密…...
gitlab 的备份与回复
一、gitlab备份 1.确定备份目录 gitlab 默认的备份目录为/var/opt/gitlab/backups,可通过配置gitlab.rb配置文件进行修改,如: [rootlocalhost ~]# vim /etc/gitlab/gitlab.rb #若要修改备份文件的存储目录话,打开下面选项的注释…...
创建型模式-----建造者模式
目录 背景: 构建模式UML 代码示例 房子成品: 构建器抽象: 具体构建器: 建筑师: 测试部…...
wordpress默认index/营销渠道有哪几种
原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。…...
外汇网站建设制作/在线网页制作网站
原博文 2020-06-10 19:37 − 10//33,10%31, -10//3-4.-10%32, divmod(x,y)返回取整及余数 divmod(10,3) 返回3,1 print(0.10.10.1-0.3) 打印出来的不是0.0 需要 import Decimal ,print(Decima... 相关推荐 2019-09-28 21:13 − Python python是一种跨平台的计算机程…...
上海市住房和城乡建设管理委员会门户网站/seo关键词优化提高网站排名
搬到姨家还没一段时间,跟姨睡一张床也还没多久,我就又要一个人睡一个房间了,陪伴我的又是除了电脑就是电视,我不喜欢这样,更多时候我希望晚上的自己是忙碌的,不希望自己有空闲时间,一直我都是喜…...
企业网站搭建步骤/网络营销软件大全
我的Dock用的是plank,很简单很好用。为什么不用Docky还有其他什么玩意儿呢?plank很简单很好用,资源占用很少,可以智能隐藏,you nearly cant feel it but you know its right there, supporting your work correctly.大…...
网络规划设计师历年真题及答案/廊坊推广seo霸屏
一、何谓ASP缓存/为什么要缓存 当你的web站点采用asp技术建立的初期,可能感觉到的是asp动态网页技术带来的便利性,以及随意修改性、自如的http控制。但是,随着访问量的增加,你一定会发现自己的站点访问速度越来越慢,…...
动画型网站/培训心得体会200字
如何为窗体应用程序显示控制台 周银辉 由于某种特殊需求(⊙﹏⊙),需要将窗体应用程序的控制台输出显示出来,其实是为了显示Console.Write()信息以便调试哈(VS的output窗口是可以显示的&…...