使用 GSON 创建 JSON 字符串

2024-03-01

我正在上一堂像下面这样的课,

public class Student {
    public int id;
    public String name;
    public int age;    
}

现在我想创建新的学生,

//while create new student
Student stu = new Student();
stu.age = 25;
stu.name = "Guna";
System.out.println(new Gson().toJson(stu));

这给了我以下输出,

{"id":0,"name":"Guna","age":25} //Here I want string without id, So this is wrong

所以这里我想要 String 像

{"name":"Guna","age":25}

如果我想编辑老学生

//While edit old student
Student stu2 = new Student();
stu2.id = 1002;
stu2.age = 25;
stu2.name = "Guna";
System.out.println(new Gson().toJson(stu2));

现在输出是

{"id":1002,"name":"Guna","age":25} //Here I want the String with Id, So this is correct

如何制作带有字段 [在某个时刻] 和没有字段 [在某个时刻] 的 JSON 字符串。

任何帮助都将非常感激。

Thanks.


更好的是使用 @expose 注释,例如

public class Student {
    public int id;
    @Expose
    public String name;
    @Expose
    public int age;
}

并使用下面的方法从您的对象获取 Json 字符串

private String getJsonString(Student student) {
    // Before converting to GSON check value of id
    Gson gson = null;
    if (student.id == 0) {
        gson = new GsonBuilder()
        .excludeFieldsWithoutExposeAnnotation()
        .create();
    } else {
        gson = new Gson();
    }
    return gson.toJson(student);
}

如果 id 列设置为 0,它将忽略 id 列,或者返回带有 id 字段的 json 字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 GSON 创建 JSON 字符串 的相关文章

  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 使用 AWS Java SDK 为现有 S3 对象设置 Expires 标头

    我正在更新 Amazon S3 存储桶中的现有对象以设置一些元数据 我想设置 HTTPExpires每个对象的标头以更好地处理 HTTP 1 0 客户端 我们正在使用AWS Java SDK http aws amazon com sdkf
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • Android - 将 ImageView 保存到具有全分辨率图像的文件

    我将图像放入 ImageView 中 并实现了多点触控来调整 ImageView 中的图像大小和移动图像 现在我需要将调整大小的图像保存到图像文件中 我已经尝试过 getDrawingCache 但该图像具有 ImageView 的大小 我
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 如何删除因 Google Fitness API 7.5.0 添加的权限

    将我的 play services fitness api 从 7 0 0 更新到 7 5 0 后 我注意到当我将新版本上传到 PlayStore 时 它 告诉我正在添加一个新权限和 2 个新功能 我没有这样做 有没有搞错 在做了一些研究来
  • 找到 Android 浏览器中使用的 webkit 版本?

    有没有办法知道某些特定手机上的 Android 浏览器使用的是哪个版本的 webkit 软件 如果有一个您可以浏览以获取该信息的 URL 那就太好了 但任何其他方式也很好 如果你知道 webkit 版本 你就知道 html5 支持多少 至少
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp

随机推荐

  • 将 Keras 模型的输出重新缩放回原始比例

    我是神经网络的新手 只是免责声明 我有一个基于 8 个特征预测混凝土强度的回归问题 我首先做的是使用最小 最大标准化重新调整数据 Normalize data between 0 and 1 from sklearn preprocessi
  • 逻辑地址和物理地址之间的区别?

    我正在阅读 操作系统概念 现在正在读第 8 章 不过 我可以做一些澄清 或者保证我的理解是正确的 逻辑地址 根据书中所述 逻辑地址是由CPU生成的 这到底是什么意思 在执行生成的地址系统中 我假设当为程序编译代码时 该程序具有no知道代码将
  • 在C#中有效调整图像的对比度

    在 C 中是否有一种有效的方法来调整图像的对比度 我见过本文 http www gutgames com post Adjusting Contrast of an Image in C aspx它提倡进行逐像素操作 不快 我已经在一些地方
  • 通过 Wcf 序列化 Linq2Sql - 错误或误解?

    使用 Linq2Sql 作为 Wcf 服务的驱动程序 让我们从下往上 在底部 我们有调用 Linq2Sql 的方法 public virtual void UpdateCmsDealer CmsDealer currentCmsDealer
  • 正则表达式可选组

    我正在使用这个正则表达式 a z a z d a z a z d d 13 匹配这样的字符串 SH 6208069141055 BC000388 20110412101855 分为 4 组 SH 6208069141055 BC000388
  • 如何查看 gstreamer 调试输出?

    如何查看 GST CAT INFO GST DEBUG 等函数的输出 我是否需要自己使用调试级别设置来编译 gstreamer 还是可以在应用程序级别完成 可以使用 GST DEBUG 环境变量在 stderr 中打印调试消息 如果 gst
  • .NET:打开嵌入资源文件中的文件

    如何打开嵌入资源文件中的文件 例如硬盘上的文件 具有绝对路径 假设您有test xml文件嵌入到程序集中 你可以使用获取清单资源流 http msdn microsoft com en us library system reflectio
  • 如何在 OpenAPI (Swagger) 中定义枚举?

    有谁知道如何定义可能enumOpenAPI 2 0 定义中的值以便它们显示在 Swagger UI 的 模型 选项卡中 示例在这里 https petstore swagger io pet addPet有一个枚举选项status财产 如何
  • 阻止应用程序[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要制作一个应用程序来阻止手机上的
  • 我可以用 Python 编写屏幕截图吗

    是否有任何库可用于在 Python 中编写屏幕截图 可以做成跨平台的吗 可以捕捉到视频吗 如果可以实时进行吗 或者说可以直接 生成Flash电影 屏幕捕获可以通过以下方式完成PIL 得益于 ImageGrab 模块 http www pyt
  • Firebase 函数 - https onRequest“HTTP 错误:400,请求有错误”

    我的 firebase 功能遇到一些重大问题 我正在尝试创建一个https请求以便我可以将数据发送到 Firebase 我有一个超级简单的代码只是为了测试 它会导致错误 这是我的代码 这段代码应该没有问题 exports fetchPost
  • Symfony 表单,错误冒泡

    我遇到了表单错误冒泡的问题 我的表单中的一个字段定义如下 formBuilder gt add title text required gt true error bubbling gt false 我想向该字段添加一个这样的验证器 Ass
  • 如何在 Windows 10 预览版中安装应用程序请求路由 ARR 3.0?

    当我尝试安装应用程序请求路由时 出现错误 安装 Microsoft 应用程序请求路由 3 0 需要 IIS 版本 7 0 或更高版本 Windows 10有IIS 10 0 所以应该是可以的 但我猜微软还没有修复版本检查 有没有可用的解决方
  • 使用 Python BeautifulSoup 单击链接

    所以我是 Python 新手 我来自 PHP JavaScript 背景 但我只是想编写一个快速脚本来抓取网站和所有子页面以查找所有内容a标签有href属性 数一下有多少个 然后单击链接 我可以计算所有链接 但我不知道如何 单击 链接然后返
  • 识别python中的日期格式

    如何获取 python 中给定日期输入的日期格式 笔记 输入是由用户给出的 不是预定义的格式 他们可能会 给出任何类型的输入格式 下面的示例适用于 dd mm yyyy 格式 但这不在 我的情况 日期格式未预定义 datetime date
  • EditText 提示文本和图标

    我正在尝试创建一个带有提示的 EditText 作为图标和文本 但是提示文本位于中心 但我希望提示文本左对齐 以便提示图标和提示文本之间应该只有制表符空格 间隙 这是我尝试过的
  • Android:弃用 startManagingCursor 的原因是什么?

    弃用 startManagingCursor 的原因是什么 我的简单应用程序有一个表视图 其中包含数据库中的数据列表 所以 我现在在 onCreate 中拥有的内容 final Cursor cursor getDataFromDB sta
  • 使用密钥来同步对代码块的访问

    通常我会锁定如下所示的关键部分 public class Cache private Object lockObject new Object public Object getFromCache String key synchroniz
  • 发布后到看到我的第一个 Android 应用程序上市需要多长时间

    我已经在市场上发布了一个应用程序 检查了设备列表 国家 地区列出了一切正常 但仍然无法通过在市场中搜索看到我的应用程序 想知道在市场上被搜索到需要时间吗 比如 3 或 7 天 小时 Thanks 这将需要几个小时 具体多长时间取决于服务器负
  • 使用 GSON 创建 JSON 字符串

    我正在上一堂像下面这样的课 public class Student public int id public String name public int age 现在我想创建新的学生 while create new student S